@rhinestone/sdk 0.0.0-dev-20260917215313 → 0.0.0-dev-20260921130703
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 +2 -20
- package/dist/src/actions/runtime.d.ts.map +1 -1
- package/dist/src/api/account.d.ts +62 -91
- package/dist/src/api/account.d.ts.map +1 -1
- package/dist/src/api/account.js +28 -697
- package/dist/src/api/accounts.d.ts +1 -1
- package/dist/src/api/accounts.d.ts.map +1 -1
- package/dist/src/api/accounts.js +3 -121
- package/dist/src/api/compose-types.d.ts +0 -9
- package/dist/src/api/compose-types.d.ts.map +1 -1
- package/dist/src/api/compose.d.ts.map +1 -1
- package/dist/src/api/compose.js +5 -50
- package/dist/src/api/sdk.d.ts +2 -2
- package/dist/src/api/sdk.d.ts.map +1 -1
- package/dist/src/api/sdk.js +1 -1
- package/dist/src/chains/caip2.d.ts.map +1 -1
- package/dist/src/chains/caip2.js +0 -5
- package/dist/src/chains/non-evm.d.ts +12 -132
- package/dist/src/chains/non-evm.d.ts.map +1 -1
- package/dist/src/chains/non-evm.js +1 -30
- package/dist/src/clients/orchestrator/client.js +1 -1
- package/dist/src/clients/orchestrator/errors.d.ts +2 -22
- package/dist/src/clients/orchestrator/errors.d.ts.map +1 -1
- package/dist/src/clients/orchestrator/errors.js +6 -61
- package/dist/src/clients/orchestrator/mappers.d.ts +0 -2
- package/dist/src/clients/orchestrator/mappers.d.ts.map +1 -1
- package/dist/src/clients/orchestrator/mappers.js +2 -87
- package/dist/src/clients/orchestrator/public.d.ts +7 -49
- package/dist/src/clients/orchestrator/public.d.ts.map +1 -1
- package/dist/src/clients/orchestrator/types.d.ts +4 -17
- package/dist/src/clients/orchestrator/types.d.ts.map +1 -1
- package/dist/src/clients/orchestrator/wire.d.ts +19 -1
- package/dist/src/clients/orchestrator/wire.d.ts.map +1 -1
- package/dist/src/config/account.d.ts +11 -185
- package/dist/src/config/account.d.ts.map +1 -1
- package/dist/src/errors/execution.d.ts +1 -11
- package/dist/src/errors/execution.d.ts.map +1 -1
- package/dist/src/errors/execution.js +1 -27
- package/dist/src/errors/index.d.ts +3 -4
- package/dist/src/errors/index.d.ts.map +1 -1
- package/dist/src/errors/index.js +4 -7
- package/dist/src/hypercore/market.d.ts +1 -1
- package/dist/src/hypercore/market.js +1 -1
- package/dist/src/index.d.ts +7 -7
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -2
- package/dist/src/transactions/intents/normalize.d.ts.map +1 -1
- package/dist/src/transactions/intents/normalize.js +2 -9
- package/dist/src/transactions/intents/prepare.d.ts.map +1 -1
- package/dist/src/transactions/intents/prepare.js +1 -10
- package/dist/src/transactions/intents/types.d.ts +3 -61
- package/dist/src/transactions/intents/types.d.ts.map +1 -1
- package/dist/src/utils/index.d.ts +9 -9
- package/dist/src/utils/index.d.ts.map +1 -1
- package/dist/src/utils/index.js +6 -6
- package/package.json +1 -5
- package/dist/src/accounts/solana/address.d.ts +0 -28
- package/dist/src/accounts/solana/address.d.ts.map +0 -1
- package/dist/src/accounts/solana/address.js +0 -105
- package/dist/src/errors/capability.d.ts +0 -23
- package/dist/src/errors/capability.d.ts.map +0 -1
- package/dist/src/errors/capability.js +0 -41
- package/dist/src/transactions/intents/solana-instructions.d.ts +0 -14
- package/dist/src/transactions/intents/solana-instructions.d.ts.map +0 -1
- package/dist/src/transactions/intents/solana-instructions.js +0 -114
- package/dist/src/transactions/intents/solana.d.ts +0 -88
- package/dist/src/transactions/intents/solana.d.ts.map +0 -1
- package/dist/src/transactions/intents/solana.js +0 -302
|
@@ -8,5 +8,5 @@ export interface SdkComposition {
|
|
|
8
8
|
readonly snapshot: LegacySdkConfigSnapshot<unknown>;
|
|
9
9
|
}
|
|
10
10
|
export declare function composeSdk(input: SdkConstructionInput): SdkComposition;
|
|
11
|
-
export declare function attachAccount
|
|
11
|
+
export declare function attachAccount(sdk: SdkComposition, config: RhinestoneAccountConfig): RhinestoneAccount;
|
|
12
12
|
//# sourceMappingURL=accounts.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accounts.d.ts","sourceRoot":"","sources":["../../../api/accounts.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"accounts.d.ts","sourceRoot":"","sources":["../../../api/accounts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AAChE,OAAO,KAAK,EAEV,oBAAoB,EACrB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAGL,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC7B,MAAM,kBAAkB,CAAA;AAMzB,OAAO,EAAuB,KAAK,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAEvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEtD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAA;IACnE,QAAQ,CAAC,QAAQ,EAAE,uBAAuB,CAAC,OAAO,CAAC,CAAA;CACpD;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,oBAAoB,GAAG,cAAc,CAOtE;AAED,wBAAgB,aAAa,CAC3B,GAAG,EAAE,cAAc,EACnB,MAAM,EAAE,uBAAuB,GAC9B,iBAAiB,CAanB"}
|
package/dist/src/api/accounts.js
CHANGED
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
import { isAddress } from 'viem';
|
|
2
|
-
import { solanaAddress } from '../chains/non-evm.js';
|
|
3
1
|
import { captureLegacySdkConfig, createLegacyAccountConfig, } from '../config/legacy.js';
|
|
4
2
|
import { materializeAccountInvocationContext, resolveSdkConfig, } from '../config/resolve.js';
|
|
5
3
|
import { assertAccountOwnersConfigured } from '../config/validate.js';
|
|
6
|
-
import {
|
|
7
|
-
import { createAccountFacade, } from './account.js';
|
|
4
|
+
import { createAccountFacade } from './account.js';
|
|
8
5
|
import { createConfiguredCoreComposition } from './compose.js';
|
|
9
6
|
export function composeSdk(input) {
|
|
10
7
|
const resolved = resolveSdkConfig(input);
|
|
@@ -13,123 +10,8 @@ export function composeSdk(input) {
|
|
|
13
10
|
snapshot: captureLegacySdkConfig(input, resolved.auth),
|
|
14
11
|
};
|
|
15
12
|
}
|
|
16
|
-
const ACCOUNT_KEYS = ['evm', 'solana'];
|
|
17
|
-
const MANAGED_SOLANA_ORCHESTRATOR_URL = 'https://dev.v1.orchestrator.rhinestone.dev';
|
|
18
|
-
const EVM_KEYS = [
|
|
19
|
-
'account',
|
|
20
|
-
'owners',
|
|
21
|
-
'sessions',
|
|
22
|
-
'recovery',
|
|
23
|
-
'eoa',
|
|
24
|
-
'modules',
|
|
25
|
-
'initData',
|
|
26
|
-
];
|
|
27
|
-
function record(value, label) {
|
|
28
|
-
if (!value || typeof value !== 'object' || Array.isArray(value)) {
|
|
29
|
-
throw new InvalidAccountConfigError(`${label} must be an object`);
|
|
30
|
-
}
|
|
31
|
-
return value;
|
|
32
|
-
}
|
|
33
|
-
function exactKeys(value, allowed, label) {
|
|
34
|
-
const unknown = Object.keys(value).find((key) => !allowed.includes(key));
|
|
35
|
-
if (unknown) {
|
|
36
|
-
throw new InvalidAccountConfigError(`unknown ${label} field \`${unknown}\``);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
13
|
export function attachAccount(sdk, config) {
|
|
40
|
-
const
|
|
41
|
-
exactKeys(input, ACCOUNT_KEYS, 'account');
|
|
42
|
-
if ((!Object.hasOwn(input, 'evm') && !Object.hasOwn(input, 'solana')) ||
|
|
43
|
-
(input.evm === undefined && input.solana === undefined)) {
|
|
44
|
-
throw new InvalidAccountConfigError('at least one VM must be configured');
|
|
45
|
-
}
|
|
46
|
-
let evmReceiver;
|
|
47
|
-
let managedEvm;
|
|
48
|
-
let managedSolanaOwner;
|
|
49
|
-
let solanaReceiver;
|
|
50
|
-
if (input.evm !== undefined) {
|
|
51
|
-
const evm = record(input.evm, 'EVM configuration');
|
|
52
|
-
if (Object.hasOwn(evm, 'address')) {
|
|
53
|
-
exactKeys(evm, ['address'], 'EVM receiver');
|
|
54
|
-
if (typeof evm.address !== 'string' || !isAddress(evm.address)) {
|
|
55
|
-
throw new InvalidAccountConfigError('EVM receiver address is invalid');
|
|
56
|
-
}
|
|
57
|
-
evmReceiver = evm.address;
|
|
58
|
-
}
|
|
59
|
-
else {
|
|
60
|
-
exactKeys(evm, EVM_KEYS, 'managed EVM');
|
|
61
|
-
managedEvm = input.evm;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
if (input.solana !== undefined) {
|
|
65
|
-
const solana = record(input.solana, 'Solana configuration');
|
|
66
|
-
if (Object.hasOwn(solana, 'address')) {
|
|
67
|
-
exactKeys(solana, ['address'], 'Solana receiver');
|
|
68
|
-
if (typeof solana.address !== 'string') {
|
|
69
|
-
throw new InvalidAccountConfigError('Solana receiver address is invalid');
|
|
70
|
-
}
|
|
71
|
-
try {
|
|
72
|
-
solanaReceiver = solanaAddress(solana.address);
|
|
73
|
-
}
|
|
74
|
-
catch {
|
|
75
|
-
throw new InvalidAccountConfigError('Solana receiver address is invalid');
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
else {
|
|
79
|
-
exactKeys(solana, ['owner'], 'managed Solana');
|
|
80
|
-
const owner = record(solana.owner, 'managed Solana owner');
|
|
81
|
-
exactKeys(owner, ['type', 'account'], 'managed Solana owner');
|
|
82
|
-
if (owner.type !== 'ecdsa' ||
|
|
83
|
-
!owner.account ||
|
|
84
|
-
typeof owner.account !== 'object' ||
|
|
85
|
-
typeof owner.account.address !== 'string' ||
|
|
86
|
-
!isAddress(owner.account.address)) {
|
|
87
|
-
throw new ManagedSolanaAccountNotSupportedError("Managed Solana requires `{ owner: { type: 'ecdsa', account } }` with a valid viem ECDSA account.");
|
|
88
|
-
}
|
|
89
|
-
managedSolanaOwner = owner.account;
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
if (managedSolanaOwner && !managedEvm) {
|
|
93
|
-
throw new ManagedSolanaAccountNotSupportedError('Managed Solana must be paired with a managed EVM account whose derived address is the Swig identity.');
|
|
94
|
-
}
|
|
95
|
-
if (managedSolanaOwner &&
|
|
96
|
-
sdk.composition.config.environment !== 'development') {
|
|
97
|
-
throw new ManagedSolanaAccountNotSupportedError();
|
|
98
|
-
}
|
|
99
|
-
if (managedSolanaOwner &&
|
|
100
|
-
sdk.composition.config.orchestratorUrl.replace(/\/+$/u, '') !==
|
|
101
|
-
MANAGED_SOLANA_ORCHESTRATOR_URL) {
|
|
102
|
-
throw new ManagedSolanaAccountNotSupportedError(`Managed Solana requires \`endpointUrl: '${MANAGED_SOLANA_ORCHESTRATOR_URL}'\` in addition to \`useDevContracts: true\`.`);
|
|
103
|
-
}
|
|
104
|
-
const captured = Object.freeze({ ...config });
|
|
105
|
-
if (!managedEvm) {
|
|
106
|
-
const receiver = {
|
|
107
|
-
config: captured,
|
|
108
|
-
getAddress(vm) {
|
|
109
|
-
if (vm === 'evm' && evmReceiver)
|
|
110
|
-
return evmReceiver;
|
|
111
|
-
if (vm === 'solana' && solanaReceiver)
|
|
112
|
-
return solanaReceiver;
|
|
113
|
-
throw new AccountVmNotConfiguredError(String(vm));
|
|
114
|
-
},
|
|
115
|
-
};
|
|
116
|
-
return Object.freeze(receiver);
|
|
117
|
-
}
|
|
118
|
-
const compatibilityConfig = createLegacyAccountConfig(managedEvm, sdk.snapshot);
|
|
14
|
+
const compatibilityConfig = createLegacyAccountConfig(config, sdk.snapshot);
|
|
119
15
|
assertAccountOwnersConfigured(materializeAccountInvocationContext(sdk.composition.config, compatibilityConfig, 'get-address').account);
|
|
120
|
-
|
|
121
|
-
...config,
|
|
122
|
-
evm: compatibilityConfig,
|
|
123
|
-
...(managedSolanaOwner
|
|
124
|
-
? {
|
|
125
|
-
solana: Object.freeze({
|
|
126
|
-
owner: Object.freeze({
|
|
127
|
-
type: 'ecdsa',
|
|
128
|
-
account: managedSolanaOwner,
|
|
129
|
-
}),
|
|
130
|
-
}),
|
|
131
|
-
}
|
|
132
|
-
: {}),
|
|
133
|
-
});
|
|
134
|
-
return createAccountFacade(compatibilityConfig, managedCaptured, sdk.composition);
|
|
16
|
+
return createAccountFacade(compatibilityConfig, sdk.composition);
|
|
135
17
|
}
|
|
@@ -9,7 +9,6 @@ import type { AccountInvocationContext, ResolvedSdkConfig } from '../config/reso
|
|
|
9
9
|
import type { Session, SessionDefinition, SessionDetails } from '../modules/validators/smart-sessions/types.js';
|
|
10
10
|
import type { IndependentOwnerSignature } from '../signing/intent-plans/independent.js';
|
|
11
11
|
import type { OwnerSignerSelection, SignerInvocationPort, SigningTranscript } from '../signing/types.js';
|
|
12
|
-
import type { PreparedSolanaIntent, SignedSolanaIntent, SolanaTransferInput } from '../transactions/intents/solana.js';
|
|
13
12
|
import type { IntentInput, IntentSessionSelection, IntentStatus, PreparedIntent, SignedIntent, SubmittedIntent } from '../transactions/intents/types.js';
|
|
14
13
|
import type { PreparedUserOperation, SignedUserOperation, SubmittedUserOperation, UserOperationInput, UserOperationStatus } from '../transactions/user-operations/types.js';
|
|
15
14
|
export interface ClockPort {
|
|
@@ -40,7 +39,6 @@ export interface ProjectWorkflows {
|
|
|
40
39
|
readonly createSession: (definition: SessionDefinition) => Promise<Session>;
|
|
41
40
|
}
|
|
42
41
|
export interface AccountWorkflows<CompatibilityConfig = unknown> {
|
|
43
|
-
readonly getEligibleEvmSourceChains: (destination: ChainReference) => Promise<readonly EvmChainReference[]>;
|
|
44
42
|
readonly getAddress: (context: AccountInvocationContext<CompatibilityConfig>, chain: import('../chains/types.js').EvmChainReference) => import('viem').Address;
|
|
45
43
|
readonly signMessage: (context: AccountInvocationContext<CompatibilityConfig>, input: {
|
|
46
44
|
readonly message: SignableMessage;
|
|
@@ -70,13 +68,6 @@ export interface AccountWorkflows<CompatibilityConfig = unknown> {
|
|
|
70
68
|
readonly transcript?: SigningTranscript;
|
|
71
69
|
}>;
|
|
72
70
|
readonly prepareIntent: (context: AccountInvocationContext<CompatibilityConfig>, input: IntentInput<CompatibilityConfig>) => Promise<PreparedIntent<CompatibilityConfig>>;
|
|
73
|
-
readonly prepareSolanaIntent: (input: SolanaTransferInput) => Promise<PreparedSolanaIntent>;
|
|
74
|
-
readonly reconstructSolanaIntent: (input: Parameters<typeof import('../transactions/intents/solana.js').reconstructSolanaIntent>[0]) => PreparedSolanaIntent;
|
|
75
|
-
readonly signSolanaIntent: (input: {
|
|
76
|
-
readonly prepared: PreparedSolanaIntent;
|
|
77
|
-
readonly owner: import('viem').Account;
|
|
78
|
-
}) => Promise<SignedSolanaIntent>;
|
|
79
|
-
readonly submitSolanaIntent: (input: SignedSolanaIntent) => Promise<SubmittedIntent>;
|
|
80
71
|
readonly signIntent: (context: AccountInvocationContext<CompatibilityConfig>, input: PreparedIntent<CompatibilityConfig>) => Promise<{
|
|
81
72
|
readonly intent: SignedIntent<CompatibilityConfig>;
|
|
82
73
|
readonly transcript: SigningTranscript;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compose-types.d.ts","sourceRoot":"","sources":["../../../api/compose-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,GAAG,EACH,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,MAAM,CAAA;AACb,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AACpE,OAAO,KAAK,EACV,0BAA0B,EAC1B,qBAAqB,EACtB,MAAM,+BAA+B,CAAA;AACtC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,KAAK,EACV,wBAAwB,EACxB,iBAAiB,EAClB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EACV,OAAO,EACP,iBAAiB,EACjB,cAAc,EACf,MAAM,4CAA4C,CAAA;AACnD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAA;AACpF,OAAO,KAAK,EACV,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EAClB,MAAM,kBAAkB,CAAA;AACzB,OAAO,KAAK,EACV,
|
|
1
|
+
{"version":3,"file":"compose-types.d.ts","sourceRoot":"","sources":["../../../api/compose-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compose.d.ts","sourceRoot":"","sources":["../../../api/compose.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"compose.d.ts","sourceRoot":"","sources":["../../../api/compose.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAGV,iBAAiB,EAClB,MAAM,oBAAoB,CAAA;AAuF3B,OAAO,KAAK,EAEV,yBAAyB,EAEzB,eAAe,EACf,gBAAgB,EAGjB,MAAM,iBAAiB,CAAA;AAMxB,YAAY,EACV,kBAAkB,EAClB,gBAAgB,EAChB,SAAS,EACT,eAAe,EACf,sBAAsB,EACtB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,iBAAiB,CAAA;AAexB,wBAAgB,qBAAqB,CAAC,mBAAmB,GAAG,OAAO,EACjE,MAAM,EAAE,iBAAiB,EACzB,YAAY,EAAE,gBAAgB,EAC9B,0BAA0B,GAAE,yBAAyB,CAAC,mBAAmB,CAC3D,GACb,eAAe,CAAC,mBAAmB,CAAC,CAmBtC;AAED,wBAAgB,+BAA+B,CAAC,mBAAmB,GAAG,OAAO,EAC3E,MAAM,EAAE,iBAAiB,GACxB,eAAe,CAAC,mBAAmB,CAAC,CAMtC"}
|
package/dist/src/api/compose.js
CHANGED
|
@@ -1,15 +1,14 @@
|
|
|
1
|
-
import { isAddressEqual
|
|
1
|
+
import { isAddressEqual } from 'viem';
|
|
2
2
|
import { createAccountConstruction } from '../accounts/construction.js';
|
|
3
3
|
import { FactoryArgsNotAvailableError } from '../accounts/error.js';
|
|
4
4
|
import { createAccountAdapter } from '../accounts/registry.js';
|
|
5
|
-
import {
|
|
5
|
+
import { toEvmChainReference } from '../chains/caip2.js';
|
|
6
6
|
import { getChainById } from '../chains/catalog.js';
|
|
7
7
|
import { createBundlerClient } from '../clients/bundler/client.js';
|
|
8
8
|
import { createConfiguredOrchestratorClient } from '../clients/orchestrator/client.js';
|
|
9
9
|
import { createPaymasterClient } from '../clients/paymaster/client.js';
|
|
10
10
|
import { createRpcPort } from '../clients/rpc/client.js';
|
|
11
11
|
import { accountMaterial, createStaticAccountRuntime, } from '../config/account-runtime.js';
|
|
12
|
-
import { UnsupportedAccountCapabilityError } from '../errors/capability.js';
|
|
13
12
|
import { getIntentExecutorModule } from '../modules/intent-executor.js';
|
|
14
13
|
import { readInstalledModules, readModuleInstallations, readOwners, } from '../modules/read-core.js';
|
|
15
14
|
import { defineValidator } from '../modules/validators/definition.js';
|
|
@@ -30,7 +29,6 @@ import { buildIntentSigningInput, prepareIntent, } from '../transactions/intents
|
|
|
30
29
|
import { sendIntent } from '../transactions/intents/send.js';
|
|
31
30
|
import { prepareIntentSessions } from '../transactions/intents/sessions.js';
|
|
32
31
|
import { assembleIntent, signIntent, signIntentAsOwner, } from '../transactions/intents/sign-transaction.js';
|
|
33
|
-
import { prepareSolanaIntent, reconstructSolanaIntent, signSolanaIntent, submitSolanaIntent, } from '../transactions/intents/solana.js';
|
|
34
32
|
import { splitIntents } from '../transactions/intents/split.js';
|
|
35
33
|
import { getIntentStatus, waitForIntentStatus, } from '../transactions/intents/status.js';
|
|
36
34
|
import { submitIntent } from '../transactions/intents/submit.js';
|
|
@@ -106,23 +104,6 @@ function createConfiguredDependencies(config) {
|
|
|
106
104
|
}
|
|
107
105
|
function createAccountComposition(initialContext, dependencies) {
|
|
108
106
|
const workflows = {
|
|
109
|
-
getEligibleEvmSourceChains: async (destination) => {
|
|
110
|
-
const catalog = await dependencies.orchestrator.getChainCatalog();
|
|
111
|
-
const isHyperCore = destination.caip2.startsWith('hypercore:');
|
|
112
|
-
const destinationId = chainIdFromCaip2(destination.caip2);
|
|
113
|
-
const destinationInfo = destinationId === undefined
|
|
114
|
-
? undefined
|
|
115
|
-
: catalog.getChainInfo(destinationId);
|
|
116
|
-
if (!isHyperCore && !destinationInfo) {
|
|
117
|
-
throw new UnsupportedAccountCapabilityError(`Destination chain ${destination.caip2} is missing from the orchestrator chain catalog.`, { destination: destination.caip2 });
|
|
118
|
-
}
|
|
119
|
-
const testnet = isHyperCore ? false : destinationInfo?.testnet;
|
|
120
|
-
return catalog
|
|
121
|
-
.getSupportedChainIds()
|
|
122
|
-
.filter((chainId) => formatCaip2(chainId).startsWith('eip155:') &&
|
|
123
|
-
catalog.isTestnet(chainId) === testnet)
|
|
124
|
-
.map(toEvmChainReference);
|
|
125
|
-
},
|
|
126
107
|
getAddress: (context, chain) => createStaticAccountRuntime(context.account, chain, false).identity
|
|
127
108
|
.address,
|
|
128
109
|
signMessage: async (context, input) => {
|
|
@@ -168,18 +149,6 @@ function createAccountComposition(initialContext, dependencies) {
|
|
|
168
149
|
signEip7702InitData: (context) => signEip7702InitData(context.account, dependencies),
|
|
169
150
|
signAuthorizations: (context, input) => signEip7702Authorizations(context.account, input, dependencies),
|
|
170
151
|
prepareIntent: (context, input) => prepareIntent(intentContext(context, dependencies), input),
|
|
171
|
-
prepareSolanaIntent: (input) => prepareSolanaIntent({
|
|
172
|
-
quoteClient: dependencies.orchestrator,
|
|
173
|
-
submissionClient: dependencies.orchestrator,
|
|
174
|
-
now: dependencies.clock.now,
|
|
175
|
-
}, input),
|
|
176
|
-
reconstructSolanaIntent,
|
|
177
|
-
signSolanaIntent: (input) => signSolanaIntent({ ...input, now: dependencies.clock.now }),
|
|
178
|
-
submitSolanaIntent: (input) => submitSolanaIntent({
|
|
179
|
-
quoteClient: dependencies.orchestrator,
|
|
180
|
-
submissionClient: dependencies.orchestrator,
|
|
181
|
-
now: dependencies.clock.now,
|
|
182
|
-
}, input),
|
|
183
152
|
signIntent: async (context, input) => {
|
|
184
153
|
const ownerSelection = input.input.signers?.kind === 'owner' ? input.input.signers : undefined;
|
|
185
154
|
const intent = await signIntent(intentContext(context, dependencies, ownerSelection?.validator), input);
|
|
@@ -357,18 +326,10 @@ async function isAccountDeployed(account, chain, dependencies) {
|
|
|
357
326
|
.getCode({ chain }, runtime.identity.address);
|
|
358
327
|
return code !== undefined && code !== '0x';
|
|
359
328
|
}
|
|
360
|
-
function evmOrigins(signData) {
|
|
361
|
-
if (!signData.destination ||
|
|
362
|
-
signData.origin.some(({ kind }) => kind !== 'eip712')) {
|
|
363
|
-
throw new UnsupportedAccountCapabilityError('EVM intent signing requires EIP-712 origin and destination payloads.');
|
|
364
|
-
}
|
|
365
|
-
return [...signData.origin];
|
|
366
|
-
}
|
|
367
329
|
function intentMessages(prepared) {
|
|
368
330
|
const { signData } = prepared.quote;
|
|
369
|
-
const origin = evmOrigins(signData);
|
|
370
331
|
return {
|
|
371
|
-
origin,
|
|
332
|
+
origin: [...signData.origin],
|
|
372
333
|
destination: signData.destination,
|
|
373
334
|
...(signData.targetExecution
|
|
374
335
|
? { targetExecution: signData.targetExecution }
|
|
@@ -561,7 +522,7 @@ async function signAccountEnableSession(context, details, dependencies) {
|
|
|
561
522
|
return result.signature;
|
|
562
523
|
}
|
|
563
524
|
async function reconstructPreparedIntent(context, input, dependencies) {
|
|
564
|
-
const accountChain = toEvmChainReference(accountChainIdFromOrigins(
|
|
525
|
+
const accountChain = toEvmChainReference(accountChainIdFromOrigins(input.quote.signData.origin));
|
|
565
526
|
const runtime = await createAccountRuntimePort(context.account, dependencies).forChain(accountChain);
|
|
566
527
|
let resolvedSessions;
|
|
567
528
|
if (input.intentInput.signers?.kind === 'smart-session') {
|
|
@@ -616,10 +577,7 @@ async function signIntentFromSignData(context, input, dependencies) {
|
|
|
616
577
|
const destination = input.targetChain.kind === 'evm' ? input.targetChain : undefined;
|
|
617
578
|
const quote = {
|
|
618
579
|
signData: {
|
|
619
|
-
origin: input.signData.origin
|
|
620
|
-
...origin,
|
|
621
|
-
kind: 'eip712',
|
|
622
|
-
})),
|
|
580
|
+
origin: [...input.signData.origin],
|
|
623
581
|
destination: input.signData.destination,
|
|
624
582
|
...(input.signData.targetExecution
|
|
625
583
|
? { targetExecution: input.signData.targetExecution }
|
|
@@ -648,9 +606,6 @@ async function signIntentFromSignData(context, input, dependencies) {
|
|
|
648
606
|
: {}),
|
|
649
607
|
};
|
|
650
608
|
const signed = await signIntent(intentContext(context, dependencies, input.signers?.kind === 'owner' ? input.signers.validator : undefined), prepared);
|
|
651
|
-
if (!signed.destinationSignature) {
|
|
652
|
-
throw new UnsupportedAccountCapabilityError('EVM intent signing did not produce a destination signature.');
|
|
653
|
-
}
|
|
654
609
|
return {
|
|
655
610
|
originSignatures: signed.originSignatures,
|
|
656
611
|
destinationSignature: signed.destinationSignature,
|
package/dist/src/api/sdk.d.ts
CHANGED
|
@@ -39,11 +39,11 @@ declare class RhinestoneSDK {
|
|
|
39
39
|
* })
|
|
40
40
|
*
|
|
41
41
|
* const account = await sdk.createAccount({
|
|
42
|
-
*
|
|
42
|
+
* owners: { type: 'ecdsa', accounts: [owner] },
|
|
43
43
|
* })
|
|
44
44
|
* ```
|
|
45
45
|
*/
|
|
46
|
-
createAccount
|
|
46
|
+
createAccount(config: RhinestoneAccountConfig): Promise<RhinestoneAccount>;
|
|
47
47
|
/**
|
|
48
48
|
* Get the current status of a submitted intent.
|
|
49
49
|
* @param intentId The intent ID returned when the transaction was submitted
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../../../api/sdk.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,gCAAgC,CAAA;AACvC,OAAO,KAAK,EACV,uBAAuB,EACvB,mBAAmB,EACpB,MAAM,mBAAmB,CAAA;AAE1B,OAAO,KAAK,EACV,OAAO,EACP,iBAAiB,EAClB,MAAM,4CAA4C,CAAA;AACnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AACtE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAQlD;;;;GAIG;AACH,cAAM,aAAa;;IAKjB,OAAO,CAAC,YAAY,CAAA;IACpB,OAAO,CAAC,WAAW,CAAA;IACnB,OAAO,CAAC,QAAQ,CAAA;IAChB,OAAO,CAAC,OAAO,CAAA;IACf,OAAO,CAAC,SAAS,CAAA;IACjB,OAAO,CAAC,eAAe,CAAA;IACvB,OAAO,CAAC,OAAO,CAAA;IACf,OAAO,CAAC,WAAW,CAAA;IAEnB;;;OAGG;gBACS,OAAO,EAAE,mBAAmB;IAaxC;;;;;;;;;;;;;;;;;;;OAmBG;IACG,aAAa,
|
|
1
|
+
{"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../../../api/sdk.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,gCAAgC,CAAA;AACvC,OAAO,KAAK,EACV,uBAAuB,EACvB,mBAAmB,EACpB,MAAM,mBAAmB,CAAA;AAE1B,OAAO,KAAK,EACV,OAAO,EACP,iBAAiB,EAClB,MAAM,4CAA4C,CAAA;AACnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AACtE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAQlD;;;;GAIG;AACH,cAAM,aAAa;;IAKjB,OAAO,CAAC,YAAY,CAAA;IACpB,OAAO,CAAC,WAAW,CAAA;IACnB,OAAO,CAAC,QAAQ,CAAA;IAChB,OAAO,CAAC,OAAO,CAAA;IACf,OAAO,CAAC,SAAS,CAAA;IACjB,OAAO,CAAC,eAAe,CAAA;IACvB,OAAO,CAAC,OAAO,CAAA;IACf,OAAO,CAAC,WAAW,CAAA;IAEnB;;;OAGG;gBACS,OAAO,EAAE,mBAAmB;IAaxC;;;;;;;;;;;;;;;;;;;OAmBG;IACG,aAAa,CACjB,MAAM,EAAE,uBAAuB,GAC9B,OAAO,CAAC,iBAAiB,CAAC;IAI7B;;;;OAIG;IACH,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAM7D;;;;OAIG;IACH,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAMnE;;;;;;;;OAQG;IACH,iBAAiB,IAAI,OAAO,CAAC,cAAc,CAAC;IAI5C;;;;;;;;OAQG;IACH,aAAa,CAAC,UAAU,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;CAG/D;AAED,OAAO,EAAE,aAAa,EAAE,CAAA"}
|
package/dist/src/api/sdk.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"caip2.d.ts","sourceRoot":"","sources":["../../../chains/caip2.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"caip2.d.ts","sourceRoot":"","sources":["../../../chains/caip2.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AA2ChE;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE1D;AAID,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAMnD;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAKlE;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,CAmBxD;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,CAUtE;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,CAOlE;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE9C;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,UAAU,MAAM,EAAE,CAErE;AAKD,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAExD"}
|
package/dist/src/chains/caip2.js
CHANGED
|
@@ -26,11 +26,6 @@ const NON_EVM_CHAINS = [
|
|
|
26
26
|
caip2: 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp',
|
|
27
27
|
nonEvm: true,
|
|
28
28
|
},
|
|
29
|
-
{
|
|
30
|
-
id: 792703810,
|
|
31
|
-
caip2: 'solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1',
|
|
32
|
-
nonEvm: true,
|
|
33
|
-
},
|
|
34
29
|
{ id: 1500148, caip2: 'stellar:pubnet', nonEvm: true },
|
|
35
30
|
];
|
|
36
31
|
const HYPERCORE_WIRE_IDS = new Set(NON_EVM_CHAINS.filter((chain) => chain.caip2.startsWith('hypercore:')).map((chain) => chain.id));
|
|
@@ -1,149 +1,29 @@
|
|
|
1
1
|
import type { Chain } from 'viem';
|
|
2
|
+
type EvmCaip2ChainId = `eip155:${number}`;
|
|
2
3
|
type SolanaCaip2ChainId = `solana:${string}`;
|
|
3
4
|
type TronCaip2ChainId = `tron:${string}`;
|
|
4
5
|
type StellarCaip2ChainId = `stellar:${string}`;
|
|
5
6
|
type HyperCoreCaip2ChainId = 'hypercore:spot' | 'hypercore:perp';
|
|
7
|
+
type Caip2ChainId = EvmCaip2ChainId | SolanaCaip2ChainId | TronCaip2ChainId | StellarCaip2ChainId | HyperCoreCaip2ChainId;
|
|
6
8
|
interface NativeCurrency {
|
|
7
9
|
readonly name: string;
|
|
8
10
|
readonly symbol: string;
|
|
9
11
|
readonly decimals: number;
|
|
10
12
|
}
|
|
11
13
|
type NonEvmAddress = string;
|
|
12
|
-
|
|
13
|
-
/** A canonical base58-encoded 32-byte Solana address. */
|
|
14
|
-
type SolanaAddress = string & {
|
|
15
|
-
readonly [solanaAddressBrand]: true;
|
|
16
|
-
};
|
|
17
|
-
interface NonEvmChainBase {
|
|
14
|
+
interface NonEvmChain {
|
|
18
15
|
readonly name: string;
|
|
16
|
+
readonly caip2: Caip2ChainId;
|
|
17
|
+
readonly kind: 'svm' | 'tvm' | 'stellar' | 'hypercore';
|
|
19
18
|
readonly nativeCurrency: NativeCurrency;
|
|
20
19
|
readonly testnet?: boolean;
|
|
21
20
|
}
|
|
22
|
-
interface SolanaChain extends NonEvmChainBase {
|
|
23
|
-
readonly caip2: SolanaCaip2ChainId;
|
|
24
|
-
readonly kind: 'svm';
|
|
25
|
-
}
|
|
26
|
-
interface TronChain extends NonEvmChainBase {
|
|
27
|
-
readonly caip2: TronCaip2ChainId;
|
|
28
|
-
readonly kind: 'tvm';
|
|
29
|
-
}
|
|
30
|
-
interface StellarChain extends NonEvmChainBase {
|
|
31
|
-
readonly caip2: StellarCaip2ChainId;
|
|
32
|
-
readonly kind: 'stellar';
|
|
33
|
-
}
|
|
34
|
-
interface HyperCoreChain extends NonEvmChainBase {
|
|
35
|
-
readonly caip2: HyperCoreCaip2ChainId;
|
|
36
|
-
readonly kind: 'hypercore';
|
|
37
|
-
}
|
|
38
|
-
type NonEvmChain = SolanaChain | TronChain | StellarChain | HyperCoreChain;
|
|
39
21
|
type DestinationChain = Chain | NonEvmChain;
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
isWritable: boolean;
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* A Solana instruction in the JSON shape Jupiter's `/swap-instructions`
|
|
51
|
-
* returns, which is also what `@solana/web3.js` serializes to.
|
|
52
|
-
*/
|
|
53
|
-
interface SolanaInstruction {
|
|
54
|
-
/** Program to invoke, base58. */
|
|
55
|
-
programId: string;
|
|
56
|
-
/** Accounts the instruction reads or writes, in the order the program expects. */
|
|
57
|
-
accounts: readonly SolanaAccountMeta[];
|
|
58
|
-
/** Instruction data, base64. */
|
|
59
|
-
data: string;
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* A `@solana/web3.js` `TransactionInstruction`, accepted structurally so the
|
|
63
|
-
* SDK takes on no Solana runtime dependency.
|
|
64
|
-
*/
|
|
65
|
-
interface SolanaProgramInstruction {
|
|
66
|
-
programId: string | {
|
|
67
|
-
toBase58(): string;
|
|
68
|
-
};
|
|
69
|
-
keys: readonly {
|
|
70
|
-
pubkey: string | {
|
|
71
|
-
toBase58(): string;
|
|
72
|
-
};
|
|
73
|
-
isSigner: boolean;
|
|
74
|
-
isWritable: boolean;
|
|
75
|
-
}[];
|
|
76
|
-
data: Uint8Array;
|
|
77
|
-
}
|
|
78
|
-
/**
|
|
79
|
-
* An instruction as Solana tooling produces it: the wire JSON shape or a
|
|
80
|
-
* `@solana/web3.js` instruction object. `@solana/kit` instructions are not
|
|
81
|
-
* accepted — convert them to either form first.
|
|
82
|
-
*/
|
|
83
|
-
type SolanaInstructionInput = SolanaInstruction | SolanaProgramInstruction;
|
|
84
|
-
/** Validate and brand a canonical Solana address. */
|
|
85
|
-
declare function solanaAddress(value: string): SolanaAddress;
|
|
86
|
-
declare const solanaMainnet: {
|
|
87
|
-
name: string;
|
|
88
|
-
caip2: "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp";
|
|
89
|
-
kind: "svm";
|
|
90
|
-
nativeCurrency: {
|
|
91
|
-
name: string;
|
|
92
|
-
symbol: string;
|
|
93
|
-
decimals: number;
|
|
94
|
-
};
|
|
95
|
-
};
|
|
96
|
-
declare const solanaDevnet: {
|
|
97
|
-
name: string;
|
|
98
|
-
caip2: "solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1";
|
|
99
|
-
kind: "svm";
|
|
100
|
-
nativeCurrency: {
|
|
101
|
-
name: string;
|
|
102
|
-
symbol: string;
|
|
103
|
-
decimals: number;
|
|
104
|
-
};
|
|
105
|
-
testnet: true;
|
|
106
|
-
};
|
|
107
|
-
declare const tronMainnet: {
|
|
108
|
-
name: string;
|
|
109
|
-
caip2: "tron:mainnet";
|
|
110
|
-
kind: "tvm";
|
|
111
|
-
nativeCurrency: {
|
|
112
|
-
name: string;
|
|
113
|
-
symbol: string;
|
|
114
|
-
decimals: number;
|
|
115
|
-
};
|
|
116
|
-
};
|
|
117
|
-
declare const stellarMainnet: {
|
|
118
|
-
name: string;
|
|
119
|
-
caip2: "stellar:pubnet";
|
|
120
|
-
kind: "stellar";
|
|
121
|
-
nativeCurrency: {
|
|
122
|
-
name: string;
|
|
123
|
-
symbol: string;
|
|
124
|
-
decimals: number;
|
|
125
|
-
};
|
|
126
|
-
};
|
|
127
|
-
declare const hyperCoreSpot: {
|
|
128
|
-
name: string;
|
|
129
|
-
caip2: "hypercore:spot";
|
|
130
|
-
kind: "hypercore";
|
|
131
|
-
nativeCurrency: {
|
|
132
|
-
name: string;
|
|
133
|
-
symbol: string;
|
|
134
|
-
decimals: number;
|
|
135
|
-
};
|
|
136
|
-
};
|
|
137
|
-
declare const hyperCorePerp: {
|
|
138
|
-
name: string;
|
|
139
|
-
caip2: "hypercore:perp";
|
|
140
|
-
kind: "hypercore";
|
|
141
|
-
nativeCurrency: {
|
|
142
|
-
name: string;
|
|
143
|
-
symbol: string;
|
|
144
|
-
decimals: number;
|
|
145
|
-
};
|
|
146
|
-
};
|
|
147
|
-
export type { DestinationChain, HyperCoreChain, NativeCurrency, NonEvmAddress, NonEvmChain, SolanaAccountMeta, SolanaAddress, SolanaChain, SolanaInstruction, SolanaInstructionInput, SolanaProgramInstruction, StellarChain, TronChain, };
|
|
148
|
-
export { hyperCorePerp, hyperCoreSpot, solanaAddress, solanaDevnet, solanaMainnet, stellarMainnet, tronMainnet, };
|
|
22
|
+
declare const solanaMainnet: NonEvmChain;
|
|
23
|
+
declare const tronMainnet: NonEvmChain;
|
|
24
|
+
declare const stellarMainnet: NonEvmChain;
|
|
25
|
+
declare const hyperCoreSpot: NonEvmChain;
|
|
26
|
+
declare const hyperCorePerp: NonEvmChain;
|
|
27
|
+
export type { DestinationChain, NativeCurrency, NonEvmAddress, NonEvmChain };
|
|
28
|
+
export { hyperCorePerp, hyperCoreSpot, solanaMainnet, stellarMainnet, tronMainnet, };
|
|
149
29
|
//# sourceMappingURL=non-evm.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"non-evm.d.ts","sourceRoot":"","sources":["../../../chains/non-evm.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,MAAM,CAAA;AAEjC,KAAK,kBAAkB,GAAG,UAAU,MAAM,EAAE,CAAA;AAC5C,KAAK,gBAAgB,GAAG,QAAQ,MAAM,EAAE,CAAA;AACxC,KAAK,mBAAmB,GAAG,WAAW,MAAM,EAAE,CAAA;AAG9C,KAAK,qBAAqB,GAAG,gBAAgB,GAAG,gBAAgB,CAAA;AAChE,UAAU,cAAc;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAC1B;AAMD,KAAK,aAAa,GAAG,MAAM,CAAA;AAE3B,
|
|
1
|
+
{"version":3,"file":"non-evm.d.ts","sourceRoot":"","sources":["../../../chains/non-evm.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,MAAM,CAAA;AAEjC,KAAK,eAAe,GAAG,UAAU,MAAM,EAAE,CAAA;AACzC,KAAK,kBAAkB,GAAG,UAAU,MAAM,EAAE,CAAA;AAC5C,KAAK,gBAAgB,GAAG,QAAQ,MAAM,EAAE,CAAA;AACxC,KAAK,mBAAmB,GAAG,WAAW,MAAM,EAAE,CAAA;AAG9C,KAAK,qBAAqB,GAAG,gBAAgB,GAAG,gBAAgB,CAAA;AAChE,KAAK,YAAY,GACb,eAAe,GACf,kBAAkB,GAClB,gBAAgB,GAChB,mBAAmB,GACnB,qBAAqB,CAAA;AAEzB,UAAU,cAAc;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAC1B;AAMD,KAAK,aAAa,GAAG,MAAM,CAAA;AAE3B,UAAU,WAAW;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAA;IAK5B,QAAQ,CAAC,IAAI,EAAE,KAAK,GAAG,KAAK,GAAG,SAAS,GAAG,WAAW,CAAA;IACtD,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAA;IACvC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAC3B;AAED,KAAK,gBAAgB,GAAG,KAAK,GAAG,WAAW,CAAA;AAE3C,QAAA,MAAM,aAAa,EAAE,WAKpB,CAAA;AAED,QAAA,MAAM,WAAW,EAAE,WAKlB,CAAA;AAKD,QAAA,MAAM,cAAc,EAAE,WAKrB,CAAA;AASD,QAAA,MAAM,aAAa,EAAE,WAKpB,CAAA;AAED,QAAA,MAAM,aAAa,EAAE,WAKpB,CAAA;AAED,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,CAAA;AAC5E,OAAO,EACL,aAAa,EACb,aAAa,EACb,aAAa,EACb,cAAc,EACd,WAAW,GACZ,CAAA"}
|
|
@@ -10,41 +10,12 @@
|
|
|
10
10
|
// orchestrator also use a synthetic numeric chain id derived from the
|
|
11
11
|
// CAIP-2 mapping, but it is non-standard and intentionally not exposed
|
|
12
12
|
// on this type.
|
|
13
|
-
const BASE58_ALPHABET = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz';
|
|
14
|
-
/** Validate and brand a canonical Solana address. */
|
|
15
|
-
function solanaAddress(value) {
|
|
16
|
-
if (!value)
|
|
17
|
-
throw new TypeError('Invalid Solana address: expected 32 bytes');
|
|
18
|
-
let number = 0n;
|
|
19
|
-
for (const character of value) {
|
|
20
|
-
const digit = BASE58_ALPHABET.indexOf(character);
|
|
21
|
-
if (digit < 0) {
|
|
22
|
-
throw new TypeError('Invalid Solana address: expected canonical base58');
|
|
23
|
-
}
|
|
24
|
-
number = number * 58n + BigInt(digit);
|
|
25
|
-
}
|
|
26
|
-
let decodedLength = 0;
|
|
27
|
-
for (let remaining = number; remaining > 0n; remaining >>= 8n)
|
|
28
|
-
decodedLength++;
|
|
29
|
-
const leadingZeroes = value.length - value.replace(/^1+/, '').length;
|
|
30
|
-
if (decodedLength + leadingZeroes !== 32) {
|
|
31
|
-
throw new TypeError('Invalid Solana address: expected 32 bytes');
|
|
32
|
-
}
|
|
33
|
-
return value;
|
|
34
|
-
}
|
|
35
13
|
const solanaMainnet = {
|
|
36
14
|
name: 'Solana',
|
|
37
15
|
caip2: 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp',
|
|
38
16
|
kind: 'svm',
|
|
39
17
|
nativeCurrency: { name: 'Solana', symbol: 'SOL', decimals: 9 },
|
|
40
18
|
};
|
|
41
|
-
const solanaDevnet = {
|
|
42
|
-
name: 'Solana Devnet',
|
|
43
|
-
caip2: 'solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1',
|
|
44
|
-
kind: 'svm',
|
|
45
|
-
nativeCurrency: { name: 'Solana', symbol: 'SOL', decimals: 9 },
|
|
46
|
-
testnet: true,
|
|
47
|
-
};
|
|
48
19
|
const tronMainnet = {
|
|
49
20
|
name: 'Tron',
|
|
50
21
|
caip2: 'tron:mainnet',
|
|
@@ -79,4 +50,4 @@ const hyperCorePerp = {
|
|
|
79
50
|
kind: 'hypercore',
|
|
80
51
|
nativeCurrency: { name: 'Hyperliquid', symbol: 'HYPE', decimals: 18 },
|
|
81
52
|
};
|
|
82
|
-
export { hyperCorePerp, hyperCoreSpot,
|
|
53
|
+
export { hyperCorePerp, hyperCoreSpot, solanaMainnet, stellarMainnet, tronMainnet, };
|
|
@@ -3,7 +3,7 @@ import { createOrchestratorAuth } from './auth.js';
|
|
|
3
3
|
import { ChainCatalog, parseChains } from './chain-catalog.js';
|
|
4
4
|
import { fetchOrchestratorJson } from './fetch.js';
|
|
5
5
|
import { mapIntentRequestToWire, mapIntentStatusFromWire, mapPortfolioFromWire, mapQuoteResponseFromWire, mapSignedIntentToWire, mapSplitRequestToWire, mapSplitResultFromWire, } from './mappers.js';
|
|
6
|
-
const SDK_VERSION = '0.0.0-dev-
|
|
6
|
+
const SDK_VERSION = '0.0.0-dev-20260921130703';
|
|
7
7
|
const API_VERSION = '2026-04.blanc';
|
|
8
8
|
export function createOrchestratorClient(options) {
|
|
9
9
|
const fetchPort = options.fetch ?? globalThis.fetch;
|