@hyperlane-xyz/sealevel-sdk 27.0.0
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/LICENSE.md +193 -0
- package/dist/accounts/mint.d.ts +43 -0
- package/dist/accounts/mint.d.ts.map +1 -0
- package/dist/accounts/mint.js +159 -0
- package/dist/accounts/mint.js.map +1 -0
- package/dist/accounts/multisig-ism-message-id.d.ts +14 -0
- package/dist/accounts/multisig-ism-message-id.d.ts.map +1 -0
- package/dist/accounts/multisig-ism-message-id.js +32 -0
- package/dist/accounts/multisig-ism-message-id.js.map +1 -0
- package/dist/accounts/test-ism.d.ts +5 -0
- package/dist/accounts/test-ism.d.ts.map +1 -0
- package/dist/accounts/test-ism.js +8 -0
- package/dist/accounts/test-ism.js.map +1 -0
- package/dist/accounts/token.d.ts +60 -0
- package/dist/accounts/token.d.ts.map +1 -0
- package/dist/accounts/token.js +127 -0
- package/dist/accounts/token.js.map +1 -0
- package/dist/clients/protocol.d.ts +21 -0
- package/dist/clients/protocol.d.ts.map +1 -0
- package/dist/clients/protocol.js +51 -0
- package/dist/clients/protocol.js.map +1 -0
- package/dist/clients/provider.d.ts +66 -0
- package/dist/clients/provider.d.ts.map +1 -0
- package/dist/clients/provider.js +237 -0
- package/dist/clients/provider.js.map +1 -0
- package/dist/clients/signer.d.ts +61 -0
- package/dist/clients/signer.d.ts.map +1 -0
- package/dist/clients/signer.js +314 -0
- package/dist/clients/signer.js.map +1 -0
- package/dist/codecs/account-data.d.ts +8 -0
- package/dist/codecs/account-data.d.ts.map +1 -0
- package/dist/codecs/account-data.js +20 -0
- package/dist/codecs/account-data.js.map +1 -0
- package/dist/codecs/binary.d.ts +34 -0
- package/dist/codecs/binary.d.ts.map +1 -0
- package/dist/codecs/binary.js +165 -0
- package/dist/codecs/binary.js.map +1 -0
- package/dist/codecs/shared.d.ts +81 -0
- package/dist/codecs/shared.d.ts.map +1 -0
- package/dist/codecs/shared.js +241 -0
- package/dist/codecs/shared.js.map +1 -0
- package/dist/constants.d.ts +13 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +21 -0
- package/dist/constants.js.map +1 -0
- package/dist/deploy/program-deployer.d.ts +51 -0
- package/dist/deploy/program-deployer.d.ts.map +1 -0
- package/dist/deploy/program-deployer.js +176 -0
- package/dist/deploy/program-deployer.js.map +1 -0
- package/dist/deploy/resolve-program.d.ts +9 -0
- package/dist/deploy/resolve-program.d.ts.map +1 -0
- package/dist/deploy/resolve-program.js +24 -0
- package/dist/deploy/resolve-program.js.map +1 -0
- package/dist/generated/core-addresses.d.ts +14 -0
- package/dist/generated/core-addresses.d.ts.map +1 -0
- package/dist/generated/core-addresses.js +55 -0
- package/dist/generated/core-addresses.js.map +1 -0
- package/dist/hook/hook-artifact-manager.d.ts +17 -0
- package/dist/hook/hook-artifact-manager.d.ts.map +1 -0
- package/dist/hook/hook-artifact-manager.js +58 -0
- package/dist/hook/hook-artifact-manager.js.map +1 -0
- package/dist/hook/hook-query.d.ts +25 -0
- package/dist/hook/hook-query.d.ts.map +1 -0
- package/dist/hook/hook-query.js +46 -0
- package/dist/hook/hook-query.js.map +1 -0
- package/dist/hook/igp-hook.d.ts +28 -0
- package/dist/hook/igp-hook.d.ts.map +1 -0
- package/dist/hook/igp-hook.js +242 -0
- package/dist/hook/igp-hook.js.map +1 -0
- package/dist/hook/merkle-tree-hook.d.ts +23 -0
- package/dist/hook/merkle-tree-hook.d.ts.map +1 -0
- package/dist/hook/merkle-tree-hook.js +46 -0
- package/dist/hook/merkle-tree-hook.js.map +1 -0
- package/dist/hyperlane/program-bytes.d.ts +20 -0
- package/dist/hyperlane/program-bytes.d.ts.map +1 -0
- package/dist/hyperlane/program-bytes.js +80534 -0
- package/dist/hyperlane/program-bytes.js.map +1 -0
- package/dist/index.d.ts +21 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +27 -0
- package/dist/index.js.map +1 -0
- package/dist/instructions/igp.d.ts +66 -0
- package/dist/instructions/igp.d.ts.map +1 -0
- package/dist/instructions/igp.js +168 -0
- package/dist/instructions/igp.js.map +1 -0
- package/dist/instructions/interfaces.d.ts +52 -0
- package/dist/instructions/interfaces.d.ts.map +1 -0
- package/dist/instructions/interfaces.js +126 -0
- package/dist/instructions/interfaces.js.map +1 -0
- package/dist/instructions/loader.d.ts +11 -0
- package/dist/instructions/loader.d.ts.map +1 -0
- package/dist/instructions/loader.js +24 -0
- package/dist/instructions/loader.js.map +1 -0
- package/dist/instructions/multisig-ism-message-id.d.ts +32 -0
- package/dist/instructions/multisig-ism-message-id.d.ts.map +1 -0
- package/dist/instructions/multisig-ism-message-id.js +105 -0
- package/dist/instructions/multisig-ism-message-id.js.map +1 -0
- package/dist/instructions/test-ism.d.ts +16 -0
- package/dist/instructions/test-ism.d.ts.map +1 -0
- package/dist/instructions/test-ism.js +47 -0
- package/dist/instructions/test-ism.js.map +1 -0
- package/dist/instructions/token.d.ts +62 -0
- package/dist/instructions/token.d.ts.map +1 -0
- package/dist/instructions/token.js +257 -0
- package/dist/instructions/token.js.map +1 -0
- package/dist/instructions/utils.d.ts +19 -0
- package/dist/instructions/utils.d.ts.map +1 -0
- package/dist/instructions/utils.js +36 -0
- package/dist/instructions/utils.js.map +1 -0
- package/dist/ism/ism-artifact-manager.d.ts +14 -0
- package/dist/ism/ism-artifact-manager.d.ts.map +1 -0
- package/dist/ism/ism-artifact-manager.js +49 -0
- package/dist/ism/ism-artifact-manager.js.map +1 -0
- package/dist/ism/ism-query.d.ts +22 -0
- package/dist/ism/ism-query.d.ts.map +1 -0
- package/dist/ism/ism-query.js +53 -0
- package/dist/ism/ism-query.js.map +1 -0
- package/dist/ism/multisig-ism.d.ts +33 -0
- package/dist/ism/multisig-ism.d.ts.map +1 -0
- package/dist/ism/multisig-ism.js +113 -0
- package/dist/ism/multisig-ism.js.map +1 -0
- package/dist/ism/test-ism.d.ts +20 -0
- package/dist/ism/test-ism.d.ts.map +1 -0
- package/dist/ism/test-ism.js +57 -0
- package/dist/ism/test-ism.js.map +1 -0
- package/dist/pda.d.ts +17 -0
- package/dist/pda.d.ts.map +1 -0
- package/dist/pda.js +118 -0
- package/dist/pda.js.map +1 -0
- package/dist/rpc.d.ts +9 -0
- package/dist/rpc.d.ts.map +1 -0
- package/dist/rpc.js +21 -0
- package/dist/rpc.js.map +1 -0
- package/dist/testing/index.d.ts +3 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +3 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/testing/setup.d.ts +33 -0
- package/dist/testing/setup.d.ts.map +1 -0
- package/dist/testing/setup.js +120 -0
- package/dist/testing/setup.js.map +1 -0
- package/dist/testing/solana-container.d.ts +32 -0
- package/dist/testing/solana-container.d.ts.map +1 -0
- package/dist/testing/solana-container.js +289 -0
- package/dist/testing/solana-container.js.map +1 -0
- package/dist/tests/collateral-token.e2e-test.d.ts +2 -0
- package/dist/tests/collateral-token.e2e-test.d.ts.map +1 -0
- package/dist/tests/collateral-token.e2e-test.js +112 -0
- package/dist/tests/collateral-token.e2e-test.js.map +1 -0
- package/dist/tests/deploy.e2e-test.d.ts +2 -0
- package/dist/tests/deploy.e2e-test.d.ts.map +1 -0
- package/dist/tests/deploy.e2e-test.js +76 -0
- package/dist/tests/deploy.e2e-test.js.map +1 -0
- package/dist/tests/hook.e2e-test.d.ts +2 -0
- package/dist/tests/hook.e2e-test.d.ts.map +1 -0
- package/dist/tests/hook.e2e-test.js +176 -0
- package/dist/tests/hook.e2e-test.js.map +1 -0
- package/dist/tests/ism.e2e-test.d.ts +2 -0
- package/dist/tests/ism.e2e-test.d.ts.map +1 -0
- package/dist/tests/ism.e2e-test.js +167 -0
- package/dist/tests/ism.e2e-test.js.map +1 -0
- package/dist/tests/native-token.e2e-test.d.ts +2 -0
- package/dist/tests/native-token.e2e-test.d.ts.map +1 -0
- package/dist/tests/native-token.e2e-test.js +93 -0
- package/dist/tests/native-token.e2e-test.js.map +1 -0
- package/dist/tests/provider.e2e-test.d.ts +2 -0
- package/dist/tests/provider.e2e-test.d.ts.map +1 -0
- package/dist/tests/provider.e2e-test.js +87 -0
- package/dist/tests/provider.e2e-test.js.map +1 -0
- package/dist/tests/read-token.e2e-test.d.ts +2 -0
- package/dist/tests/read-token.e2e-test.d.ts.map +1 -0
- package/dist/tests/read-token.e2e-test.js +79 -0
- package/dist/tests/read-token.e2e-test.js.map +1 -0
- package/dist/tests/scale.unit-test.d.ts +2 -0
- package/dist/tests/scale.unit-test.d.ts.map +1 -0
- package/dist/tests/scale.unit-test.js +65 -0
- package/dist/tests/scale.unit-test.js.map +1 -0
- package/dist/tests/synthetic-token.e2e-test.d.ts +2 -0
- package/dist/tests/synthetic-token.e2e-test.d.ts.map +1 -0
- package/dist/tests/synthetic-token.e2e-test.js +115 -0
- package/dist/tests/synthetic-token.e2e-test.js.map +1 -0
- package/dist/tests/warp-token-suite.d.ts +26 -0
- package/dist/tests/warp-token-suite.d.ts.map +1 -0
- package/dist/tests/warp-token-suite.js +208 -0
- package/dist/tests/warp-token-suite.js.map +1 -0
- package/dist/tx.d.ts +23 -0
- package/dist/tx.d.ts.map +1 -0
- package/dist/tx.js +43 -0
- package/dist/tx.js.map +1 -0
- package/dist/types.d.ts +50 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/warp/collateral-token.d.ts +21 -0
- package/dist/warp/collateral-token.d.ts.map +1 -0
- package/dist/warp/collateral-token.js +129 -0
- package/dist/warp/collateral-token.js.map +1 -0
- package/dist/warp/native-token.d.ts +21 -0
- package/dist/warp/native-token.d.ts.map +1 -0
- package/dist/warp/native-token.js +99 -0
- package/dist/warp/native-token.js.map +1 -0
- package/dist/warp/synthetic-token.d.ts +21 -0
- package/dist/warp/synthetic-token.d.ts.map +1 -0
- package/dist/warp/synthetic-token.js +180 -0
- package/dist/warp/synthetic-token.js.map +1 -0
- package/dist/warp/types.d.ts +16 -0
- package/dist/warp/types.d.ts.map +1 -0
- package/dist/warp/types.js +2 -0
- package/dist/warp/types.js.map +1 -0
- package/dist/warp/warp-artifact-manager.d.ts +14 -0
- package/dist/warp/warp-artifact-manager.d.ts.map +1 -0
- package/dist/warp/warp-artifact-manager.js +52 -0
- package/dist/warp/warp-artifact-manager.js.map +1 -0
- package/dist/warp/warp-query.d.ts +30 -0
- package/dist/warp/warp-query.d.ts.map +1 -0
- package/dist/warp/warp-query.js +66 -0
- package/dist/warp/warp-query.js.map +1 -0
- package/dist/warp/warp-tx.d.ts +64 -0
- package/dist/warp/warp-tx.d.ts.map +1 -0
- package/dist/warp/warp-tx.js +291 -0
- package/dist/warp/warp-tx.js.map +1 -0
- package/package.json +76 -0
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { getAddressDecoder } from '@solana/kit';
|
|
2
|
+
import { assert } from '@hyperlane-xyz/utils';
|
|
3
|
+
import { decodeAccountData, decodeDiscriminatorPrefixed, } from '../codecs/account-data.js';
|
|
4
|
+
import { ByteCursor } from '../codecs/binary.js';
|
|
5
|
+
import { decodeMapU32GasOracle, decodeMapU32H256, decodeMapU32U64, InterchainGasPaymasterTypeKind, } from '../codecs/shared.js';
|
|
6
|
+
const IGP_PROGRAM_DATA_DISCRIMINATOR = ascii8('PRGMDATA');
|
|
7
|
+
const IGP_ACCOUNT_DISCRIMINATOR = ascii8('IGP_____');
|
|
8
|
+
const OVERHEAD_IGP_ACCOUNT_DISCRIMINATOR = ascii8('OVRHDIGP');
|
|
9
|
+
export function decodeHyperlaneTokenAccount(raw) {
|
|
10
|
+
const wrapped = decodeAccountData(raw, decodeHyperlaneTokenInner);
|
|
11
|
+
return wrapped.data;
|
|
12
|
+
}
|
|
13
|
+
export function decodeIgpProgramDataAccount(raw) {
|
|
14
|
+
const wrapped = decodeAccountData(raw, (cursor) => decodeDiscriminatorPrefixed(cursor, IGP_PROGRAM_DATA_DISCRIMINATOR, (c) => ({
|
|
15
|
+
bumpSeed: c.readU8(),
|
|
16
|
+
paymentCount: c.readU64LE(),
|
|
17
|
+
})));
|
|
18
|
+
return wrapped.data;
|
|
19
|
+
}
|
|
20
|
+
export function decodeIgpAccount(raw) {
|
|
21
|
+
const wrapped = decodeAccountData(raw, (cursor) => decodeDiscriminatorPrefixed(cursor, IGP_ACCOUNT_DISCRIMINATOR, (c) => ({
|
|
22
|
+
bumpSeed: c.readU8(),
|
|
23
|
+
salt: c.readBytes(32),
|
|
24
|
+
owner: readOptionAddress(c),
|
|
25
|
+
beneficiary: readAddress(c),
|
|
26
|
+
gasOracles: decodeMapU32GasOracle(c),
|
|
27
|
+
})));
|
|
28
|
+
return wrapped.data;
|
|
29
|
+
}
|
|
30
|
+
export function decodeOverheadIgpAccount(raw) {
|
|
31
|
+
const wrapped = decodeAccountData(raw, (cursor) => decodeDiscriminatorPrefixed(cursor, OVERHEAD_IGP_ACCOUNT_DISCRIMINATOR, (c) => ({
|
|
32
|
+
bumpSeed: c.readU8(),
|
|
33
|
+
salt: c.readBytes(32),
|
|
34
|
+
owner: readOptionAddress(c),
|
|
35
|
+
inner: readAddress(c),
|
|
36
|
+
gasOverheads: decodeMapU32U64(c),
|
|
37
|
+
})));
|
|
38
|
+
return wrapped.data;
|
|
39
|
+
}
|
|
40
|
+
function decodeHyperlaneTokenInner(cursor) {
|
|
41
|
+
// Kept manual because payload ends with trailing pluginData (remainder bytes).
|
|
42
|
+
const bump = cursor.readU8();
|
|
43
|
+
const mailbox = readAddress(cursor);
|
|
44
|
+
const mailboxProcessAuthority = readAddress(cursor);
|
|
45
|
+
const dispatchAuthorityBump = cursor.readU8();
|
|
46
|
+
const decimals = cursor.readU8();
|
|
47
|
+
const remoteDecimals = cursor.readU8();
|
|
48
|
+
const owner = readOptionAddress(cursor);
|
|
49
|
+
const interchainSecurityModule = readOptionAddress(cursor);
|
|
50
|
+
const interchainGasPaymaster = readOptionIgpConfig(cursor);
|
|
51
|
+
const destinationGas = decodeMapU32U64(cursor);
|
|
52
|
+
const remoteRouters = decodeMapU32H256(cursor);
|
|
53
|
+
const pluginData = cursor.readBytes(cursor.remaining());
|
|
54
|
+
return {
|
|
55
|
+
bump,
|
|
56
|
+
mailbox,
|
|
57
|
+
mailboxProcessAuthority,
|
|
58
|
+
dispatchAuthorityBump,
|
|
59
|
+
decimals,
|
|
60
|
+
remoteDecimals,
|
|
61
|
+
owner,
|
|
62
|
+
interchainSecurityModule,
|
|
63
|
+
interchainGasPaymaster,
|
|
64
|
+
destinationGas,
|
|
65
|
+
remoteRouters,
|
|
66
|
+
pluginData,
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
export function decodeNativePlugin(pluginData) {
|
|
70
|
+
if (pluginData.length < 1)
|
|
71
|
+
throw new Error(`NativePlugin: need 1 byte, got ${pluginData.length}`);
|
|
72
|
+
return { nativeCollateralBump: pluginData[0] };
|
|
73
|
+
}
|
|
74
|
+
export function decodeSyntheticPlugin(pluginData) {
|
|
75
|
+
if (pluginData.length < 34)
|
|
76
|
+
throw new Error(`SyntheticPlugin: need 34 bytes, got ${pluginData.length}`);
|
|
77
|
+
const cursor = new ByteCursor(pluginData);
|
|
78
|
+
return {
|
|
79
|
+
mint: readAddress(cursor),
|
|
80
|
+
mintBump: cursor.readU8(),
|
|
81
|
+
ataPayerBump: cursor.readU8(),
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
export function decodeCollateralPlugin(pluginData) {
|
|
85
|
+
if (pluginData.length < 98)
|
|
86
|
+
throw new Error(`CollateralPlugin: need 98 bytes, got ${pluginData.length}`);
|
|
87
|
+
const cursor = new ByteCursor(pluginData);
|
|
88
|
+
return {
|
|
89
|
+
splTokenProgram: readAddress(cursor),
|
|
90
|
+
mint: readAddress(cursor),
|
|
91
|
+
escrow: readAddress(cursor),
|
|
92
|
+
escrowBump: cursor.readU8(),
|
|
93
|
+
ataPayerBump: cursor.readU8(),
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
function ascii8(value) {
|
|
97
|
+
if (value.length !== 8)
|
|
98
|
+
throw new Error(`Expected 8-char discriminator, got ${value}`);
|
|
99
|
+
return Uint8Array.from(value, (char) => char.charCodeAt(0));
|
|
100
|
+
}
|
|
101
|
+
const addressDecoder = getAddressDecoder();
|
|
102
|
+
function readAddress(cursor) {
|
|
103
|
+
return addressDecoder.decode(cursor.readBytes(32));
|
|
104
|
+
}
|
|
105
|
+
function readOptionAddress(cursor) {
|
|
106
|
+
const tag = cursor.readU8();
|
|
107
|
+
assert(tag === 0 || tag === 1, `Invalid option tag: ${tag}`);
|
|
108
|
+
return tag === 1 ? readAddress(cursor) : null;
|
|
109
|
+
}
|
|
110
|
+
function readOptionIgpConfig(cursor) {
|
|
111
|
+
const tag = cursor.readU8();
|
|
112
|
+
assert(tag === 0 || tag === 1, `Invalid option tag: ${tag}`);
|
|
113
|
+
if (tag === 0)
|
|
114
|
+
return null;
|
|
115
|
+
const programId = readAddress(cursor);
|
|
116
|
+
const igpKindByte = cursor.readU8();
|
|
117
|
+
assert(igpKindByte === InterchainGasPaymasterTypeKind.Igp ||
|
|
118
|
+
igpKindByte === InterchainGasPaymasterTypeKind.OverheadIgp, `Unknown InterchainGasPaymasterType kind: ${igpKindByte}`);
|
|
119
|
+
return {
|
|
120
|
+
programId,
|
|
121
|
+
igpType: {
|
|
122
|
+
kind: igpKindByte,
|
|
123
|
+
account: readAddress(cursor),
|
|
124
|
+
},
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=token.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token.js","sourceRoot":"","sources":["../../src/accounts/token.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { AltVM, ChainMetadataForAltVM, ITransactionSubmitter, MinimumRequiredGasByAction, ProtocolProvider, SignerConfig, TransactionSubmitterConfig } from '@hyperlane-xyz/provider-sdk';
|
|
2
|
+
import type { IProvider } from '@hyperlane-xyz/provider-sdk/altvm';
|
|
3
|
+
import type { IRawHookArtifactManager } from '@hyperlane-xyz/provider-sdk/hook';
|
|
4
|
+
import type { IRawIsmArtifactManager } from '@hyperlane-xyz/provider-sdk/ism';
|
|
5
|
+
import type { AnnotatedTx, TxReceipt } from '@hyperlane-xyz/provider-sdk/module';
|
|
6
|
+
import type { IRawWarpArtifactManager } from '@hyperlane-xyz/provider-sdk/warp';
|
|
7
|
+
export declare class SvmProtocolProvider implements ProtocolProvider {
|
|
8
|
+
createProvider(chainMetadata: ChainMetadataForAltVM): Promise<IProvider>;
|
|
9
|
+
createSigner(chainMetadata: ChainMetadataForAltVM, config: SignerConfig): Promise<AltVM.ISigner<AnnotatedTx, TxReceipt>>;
|
|
10
|
+
createSubmitter<TConfig extends TransactionSubmitterConfig>(_chainMetadata: ChainMetadataForAltVM, _config: TConfig): Promise<ITransactionSubmitter>;
|
|
11
|
+
createIsmArtifactManager(chainMetadata: ChainMetadataForAltVM): IRawIsmArtifactManager;
|
|
12
|
+
createHookArtifactManager(chainMetadata: ChainMetadataForAltVM, context?: {
|
|
13
|
+
mailbox?: string;
|
|
14
|
+
}): IRawHookArtifactManager;
|
|
15
|
+
createWarpArtifactManager(chainMetadata: ChainMetadataForAltVM, _context?: {
|
|
16
|
+
mailbox?: string;
|
|
17
|
+
}): IRawWarpArtifactManager;
|
|
18
|
+
getMinGas(): MinimumRequiredGasByAction;
|
|
19
|
+
private getRpcUrls;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=protocol.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../src/clients/protocol.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EACL,qBAAqB,EACrB,qBAAqB,EACrB,0BAA0B,EAC1B,gBAAgB,EAChB,YAAY,EACZ,0BAA0B,EAC3B,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAC9E,OAAO,KAAK,EACV,WAAW,EACX,SAAS,EACV,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAahF,qBAAa,mBAAoB,YAAW,gBAAgB;IAC1D,cAAc,CAAC,aAAa,EAAE,qBAAqB,GAAG,OAAO,CAAC,SAAS,CAAC;IAKlE,YAAY,CAChB,aAAa,EAAE,qBAAqB,EACpC,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAKjD,eAAe,CAAC,OAAO,SAAS,0BAA0B,EACxD,cAAc,EAAE,qBAAqB,EACrC,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,qBAAqB,CAAC;IAIjC,wBAAwB,CACtB,aAAa,EAAE,qBAAqB,GACnC,sBAAsB;IAKzB,yBAAyB,CACvB,aAAa,EAAE,qBAAqB,EACpC,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAC7B,uBAAuB;IAY1B,yBAAyB,CACvB,aAAa,EAAE,qBAAqB,EACpC,QAAQ,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAC9B,uBAAuB;IAK1B,SAAS,IAAI,0BAA0B;IAWvC,OAAO,CAAC,UAAU;CAOnB"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { assert } from '@hyperlane-xyz/utils';
|
|
2
|
+
import { address as parseAddress } from '@solana/kit';
|
|
3
|
+
import { SvmHookArtifactManager } from '../hook/hook-artifact-manager.js';
|
|
4
|
+
import { SvmIsmArtifactManager } from '../ism/ism-artifact-manager.js';
|
|
5
|
+
import { createRpc } from '../rpc.js';
|
|
6
|
+
import { SVM_CORE_ADDRESSES } from '../generated/core-addresses.js';
|
|
7
|
+
import { SvmWarpArtifactManager } from '../warp/warp-artifact-manager.js';
|
|
8
|
+
import { SvmProvider } from './provider.js';
|
|
9
|
+
import { SvmSigner } from './signer.js';
|
|
10
|
+
export class SvmProtocolProvider {
|
|
11
|
+
createProvider(chainMetadata) {
|
|
12
|
+
const rpcUrls = this.getRpcUrls(chainMetadata);
|
|
13
|
+
return SvmProvider.connect(rpcUrls, chainMetadata.chainId);
|
|
14
|
+
}
|
|
15
|
+
async createSigner(chainMetadata, config) {
|
|
16
|
+
const rpcUrls = this.getRpcUrls(chainMetadata);
|
|
17
|
+
return SvmSigner.connectWithSigner(rpcUrls, config.privateKey);
|
|
18
|
+
}
|
|
19
|
+
createSubmitter(_chainMetadata, _config) {
|
|
20
|
+
throw new Error('Transaction submitter not yet implemented for Sealevel');
|
|
21
|
+
}
|
|
22
|
+
createIsmArtifactManager(chainMetadata) {
|
|
23
|
+
const rpc = createRpc(this.getRpcUrls(chainMetadata)[0]);
|
|
24
|
+
return new SvmIsmArtifactManager(rpc);
|
|
25
|
+
}
|
|
26
|
+
createHookArtifactManager(chainMetadata, context) {
|
|
27
|
+
const mailbox = context?.mailbox ?? SVM_CORE_ADDRESSES[chainMetadata.name]?.mailbox;
|
|
28
|
+
assert(mailbox, 'Mailbox address is required for SVM hook artifact manager');
|
|
29
|
+
const rpc = createRpc(this.getRpcUrls(chainMetadata)[0]);
|
|
30
|
+
return new SvmHookArtifactManager(rpc, parseAddress(mailbox));
|
|
31
|
+
}
|
|
32
|
+
createWarpArtifactManager(chainMetadata, _context) {
|
|
33
|
+
const rpc = createRpc(this.getRpcUrls(chainMetadata)[0]);
|
|
34
|
+
return new SvmWarpArtifactManager(rpc);
|
|
35
|
+
}
|
|
36
|
+
getMinGas() {
|
|
37
|
+
return {
|
|
38
|
+
CORE_DEPLOY_GAS: 0n,
|
|
39
|
+
// ~2.6 SOL covers program account rent + token PDA rent + ATA payer funding
|
|
40
|
+
WARP_DEPLOY_GAS: 2600000000n,
|
|
41
|
+
TEST_SEND_GAS: 0n,
|
|
42
|
+
AVS_GAS: 0n,
|
|
43
|
+
ISM_DEPLOY_GAS: 0n,
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
getRpcUrls(chainMetadata) {
|
|
47
|
+
assert(chainMetadata.rpcUrls && chainMetadata.rpcUrls.length > 0, 'At least one RPC URL is required');
|
|
48
|
+
return chainMetadata.rpcUrls.map((r) => r.http);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=protocol.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/clients/protocol.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,aAAa,CAAC;AAEtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,OAAO,mBAAmB;IAC9B,cAAc,CAAC,aAAoC;QACjD,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QAC/C,OAAO,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,aAAoC,EACpC,MAAoB;QAEpB,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QAC/C,OAAO,SAAS,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;IACjE,CAAC;IAED,eAAe,CACb,cAAqC,EACrC,OAAgB;QAEhB,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC5E,CAAC;IAED,wBAAwB,CACtB,aAAoC;QAEpC,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzD,OAAO,IAAI,qBAAqB,CAAC,GAAG,CAAC,CAAC;IACxC,CAAC;IAED,yBAAyB,CACvB,aAAoC,EACpC,OAA8B;QAE9B,MAAM,OAAO,GACX,OAAO,EAAE,OAAO,IAAI,kBAAkB,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;QAEtE,MAAM,CACJ,OAAO,EACP,2DAA2D,CAC5D,CAAC;QACF,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzD,OAAO,IAAI,sBAAsB,CAAC,GAAG,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,yBAAyB,CACvB,aAAoC,EACpC,QAA+B;QAE/B,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzD,OAAO,IAAI,sBAAsB,CAAC,GAAG,CAAC,CAAC;IACzC,CAAC;IAED,SAAS;QACP,OAAO;YACL,eAAe,EAAE,EAAE;YACnB,4EAA4E;YAC5E,eAAe,EAAE,WAAc;YAC/B,aAAa,EAAE,EAAE;YACjB,OAAO,EAAE,EAAE;YACX,cAAc,EAAE,EAAE;SACnB,CAAC;IACJ,CAAC;IAEO,UAAU,CAAC,aAAoC;QACrD,MAAM,CACJ,aAAa,CAAC,OAAO,IAAI,aAAa,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EACzD,kCAAkC,CACnC,CAAC;QACF,OAAO,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;CACF"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { type AltVM } from '@hyperlane-xyz/provider-sdk';
|
|
2
|
+
import type { SvmRpc, SvmTransaction } from '../types.js';
|
|
3
|
+
export declare class SvmProvider implements AltVM.IProvider<SvmTransaction> {
|
|
4
|
+
protected rpc: SvmRpc;
|
|
5
|
+
protected rpcUrls: string[];
|
|
6
|
+
static connect(rpcUrls: string[], _chainId: string | number, _extraParams?: Record<string, any>): Promise<SvmProvider>;
|
|
7
|
+
constructor(rpc: SvmRpc, rpcUrls: string[]);
|
|
8
|
+
isHealthy(): Promise<boolean>;
|
|
9
|
+
getRpcUrls(): string[];
|
|
10
|
+
getHeight(): Promise<number>;
|
|
11
|
+
getBalance(req: AltVM.ReqGetBalance): Promise<bigint>;
|
|
12
|
+
getTotalSupply(_req: AltVM.ReqGetTotalSupply): Promise<bigint>;
|
|
13
|
+
estimateTransactionFee(req: AltVM.ReqEstimateTransactionFee<SvmTransaction>): Promise<AltVM.ResEstimateTransactionFee>;
|
|
14
|
+
/**
|
|
15
|
+
* Queries the RPC for the base fee per signature using a minimal
|
|
16
|
+
* unsigned message.
|
|
17
|
+
*/
|
|
18
|
+
private queryBaseFeePerSignature;
|
|
19
|
+
getMailbox(_req: AltVM.ReqGetMailbox): Promise<AltVM.ResGetMailbox>;
|
|
20
|
+
isMessageDelivered(_req: AltVM.ReqIsMessageDelivered): Promise<boolean>;
|
|
21
|
+
getIsmType(_req: AltVM.ReqGetIsmType): Promise<AltVM.IsmType>;
|
|
22
|
+
getMessageIdMultisigIsm(_req: AltVM.ReqMessageIdMultisigIsm): Promise<AltVM.ResMessageIdMultisigIsm>;
|
|
23
|
+
getMerkleRootMultisigIsm(_req: AltVM.ReqMerkleRootMultisigIsm): Promise<AltVM.ResMerkleRootMultisigIsm>;
|
|
24
|
+
getRoutingIsm(_req: AltVM.ReqRoutingIsm): Promise<AltVM.ResRoutingIsm>;
|
|
25
|
+
getNoopIsm(_req: AltVM.ReqNoopIsm): Promise<AltVM.ResNoopIsm>;
|
|
26
|
+
getHookType(_req: AltVM.ReqGetHookType): Promise<AltVM.HookType>;
|
|
27
|
+
getInterchainGasPaymasterHook(_req: AltVM.ReqGetInterchainGasPaymasterHook): Promise<AltVM.ResGetInterchainGasPaymasterHook>;
|
|
28
|
+
getMerkleTreeHook(_req: AltVM.ReqGetMerkleTreeHook): Promise<AltVM.ResGetMerkleTreeHook>;
|
|
29
|
+
getNoopHook(_req: AltVM.ReqGetNoopHook): Promise<AltVM.ResGetNoopHook>;
|
|
30
|
+
getToken(_req: AltVM.ReqGetToken): Promise<AltVM.ResGetToken>;
|
|
31
|
+
getRemoteRouters(_req: AltVM.ReqGetRemoteRouters): Promise<AltVM.ResGetRemoteRouters>;
|
|
32
|
+
getBridgedSupply(_req: AltVM.ReqGetBridgedSupply): Promise<bigint>;
|
|
33
|
+
quoteRemoteTransfer(_req: AltVM.ReqQuoteRemoteTransfer): Promise<AltVM.ResQuoteRemoteTransfer>;
|
|
34
|
+
getCreateMailboxTransaction(_req: AltVM.ReqCreateMailbox): Promise<SvmTransaction>;
|
|
35
|
+
getSetDefaultIsmTransaction(_req: AltVM.ReqSetDefaultIsm): Promise<SvmTransaction>;
|
|
36
|
+
getSetDefaultHookTransaction(_req: AltVM.ReqSetDefaultHook): Promise<SvmTransaction>;
|
|
37
|
+
getSetRequiredHookTransaction(_req: AltVM.ReqSetRequiredHook): Promise<SvmTransaction>;
|
|
38
|
+
getSetMailboxOwnerTransaction(_req: AltVM.ReqSetMailboxOwner): Promise<SvmTransaction>;
|
|
39
|
+
getCreateMerkleRootMultisigIsmTransaction(_req: AltVM.ReqCreateMerkleRootMultisigIsm): Promise<SvmTransaction>;
|
|
40
|
+
getCreateMessageIdMultisigIsmTransaction(_req: AltVM.ReqCreateMessageIdMultisigIsm): Promise<SvmTransaction>;
|
|
41
|
+
getCreateRoutingIsmTransaction(_req: AltVM.ReqCreateRoutingIsm): Promise<SvmTransaction>;
|
|
42
|
+
getSetRoutingIsmRouteTransaction(_req: AltVM.ReqSetRoutingIsmRoute): Promise<SvmTransaction>;
|
|
43
|
+
getRemoveRoutingIsmRouteTransaction(_req: AltVM.ReqRemoveRoutingIsmRoute): Promise<SvmTransaction>;
|
|
44
|
+
getSetRoutingIsmOwnerTransaction(_req: AltVM.ReqSetRoutingIsmOwner): Promise<SvmTransaction>;
|
|
45
|
+
getCreateNoopIsmTransaction(_req: AltVM.ReqCreateNoopIsm): Promise<SvmTransaction>;
|
|
46
|
+
getCreateMerkleTreeHookTransaction(_req: AltVM.ReqCreateMerkleTreeHook): Promise<SvmTransaction>;
|
|
47
|
+
getCreateInterchainGasPaymasterHookTransaction(_req: AltVM.ReqCreateInterchainGasPaymasterHook): Promise<SvmTransaction>;
|
|
48
|
+
getSetInterchainGasPaymasterHookOwnerTransaction(_req: AltVM.ReqSetInterchainGasPaymasterHookOwner): Promise<SvmTransaction>;
|
|
49
|
+
getSetDestinationGasConfigTransaction(_req: AltVM.ReqSetDestinationGasConfig): Promise<SvmTransaction>;
|
|
50
|
+
getRemoveDestinationGasConfigTransaction(_req: AltVM.ReqRemoveDestinationGasConfig): Promise<SvmTransaction>;
|
|
51
|
+
getCreateNoopHookTransaction(_req: AltVM.ReqCreateNoopHook): Promise<SvmTransaction>;
|
|
52
|
+
getCreateValidatorAnnounceTransaction(_req: AltVM.ReqCreateValidatorAnnounce): Promise<SvmTransaction>;
|
|
53
|
+
getCreateProxyAdminTransaction(_req: AltVM.ReqCreateProxyAdmin): Promise<SvmTransaction>;
|
|
54
|
+
getSetProxyAdminOwnerTransaction(_req: AltVM.ReqSetProxyAdminOwner): Promise<SvmTransaction>;
|
|
55
|
+
getCreateNativeTokenTransaction(_req: AltVM.ReqCreateNativeToken): Promise<SvmTransaction>;
|
|
56
|
+
getCreateCollateralTokenTransaction(_req: AltVM.ReqCreateCollateralToken): Promise<SvmTransaction>;
|
|
57
|
+
getCreateSyntheticTokenTransaction(_req: AltVM.ReqCreateSyntheticToken): Promise<SvmTransaction>;
|
|
58
|
+
getSetTokenOwnerTransaction(_req: AltVM.ReqSetTokenOwner): Promise<SvmTransaction>;
|
|
59
|
+
getSetTokenIsmTransaction(_req: AltVM.ReqSetTokenIsm): Promise<SvmTransaction>;
|
|
60
|
+
getSetTokenHookTransaction(_req: AltVM.ReqSetTokenHook): Promise<SvmTransaction>;
|
|
61
|
+
getEnrollRemoteRouterTransaction(_req: AltVM.ReqEnrollRemoteRouter): Promise<SvmTransaction>;
|
|
62
|
+
getUnenrollRemoteRouterTransaction(_req: AltVM.ReqUnenrollRemoteRouter): Promise<SvmTransaction>;
|
|
63
|
+
getTransferTransaction(_req: AltVM.ReqTransfer): Promise<SvmTransaction>;
|
|
64
|
+
getRemoteTransferTransaction(_req: AltVM.ReqRemoteTransfer): Promise<SvmTransaction>;
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/clients/provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
import { AccountRole, compileTransactionMessage, createTransactionMessage, getCompiledTransactionMessageEncoder, address as parseAddress, setTransactionMessageFeePayer, setTransactionMessageLifetimeUsingBlockhash, } from '@solana/kit';
|
|
2
|
+
import { assert, rootLogger } from '@hyperlane-xyz/utils';
|
|
3
|
+
import { LAMPORTS_PER_SIGNATURE, SYSTEM_PROGRAM_ADDRESS, } from '../constants.js';
|
|
4
|
+
import { createRpc } from '../rpc.js';
|
|
5
|
+
import { DEFAULT_COMPUTE_UNITS } from '../tx.js';
|
|
6
|
+
export class SvmProvider {
|
|
7
|
+
rpc;
|
|
8
|
+
rpcUrls;
|
|
9
|
+
static async connect(rpcUrls, _chainId, _extraParams) {
|
|
10
|
+
assert(rpcUrls.length > 0, 'At least one RPC URL is required');
|
|
11
|
+
const rpc = createRpc(rpcUrls[0]);
|
|
12
|
+
return new SvmProvider(rpc, rpcUrls);
|
|
13
|
+
}
|
|
14
|
+
constructor(rpc, rpcUrls) {
|
|
15
|
+
this.rpc = rpc;
|
|
16
|
+
this.rpcUrls = rpcUrls;
|
|
17
|
+
}
|
|
18
|
+
// ### QUERY BASE ###
|
|
19
|
+
async isHealthy() {
|
|
20
|
+
try {
|
|
21
|
+
await this.rpc.getSlot().send();
|
|
22
|
+
return true;
|
|
23
|
+
}
|
|
24
|
+
catch (error) {
|
|
25
|
+
rootLogger.debug('SVM health check failed', { error });
|
|
26
|
+
return false;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
getRpcUrls() {
|
|
30
|
+
return this.rpcUrls;
|
|
31
|
+
}
|
|
32
|
+
async getHeight() {
|
|
33
|
+
const slot = await this.rpc.getSlot().send();
|
|
34
|
+
return Number(slot);
|
|
35
|
+
}
|
|
36
|
+
async getBalance(req) {
|
|
37
|
+
const balance = await this.rpc.getBalance(parseAddress(req.address)).send();
|
|
38
|
+
return balance.value;
|
|
39
|
+
}
|
|
40
|
+
async getTotalSupply(_req) {
|
|
41
|
+
throw new Error('getTotalSupply not supported on Sealevel');
|
|
42
|
+
}
|
|
43
|
+
async estimateTransactionFee(req) {
|
|
44
|
+
const signerAddresses = new Set();
|
|
45
|
+
// Collect signers from instruction account metas
|
|
46
|
+
for (const ix of req.transaction.instructions) {
|
|
47
|
+
if (ix.accounts) {
|
|
48
|
+
for (const account of ix.accounts) {
|
|
49
|
+
if (account.role >= AccountRole.READONLY_SIGNER) {
|
|
50
|
+
signerAddresses.add(account.address);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
// Collect additional signers
|
|
56
|
+
for (const signer of req.transaction.additionalSigners ?? []) {
|
|
57
|
+
signerAddresses.add(signer.address);
|
|
58
|
+
}
|
|
59
|
+
// +1 for fee payer (may already be in the set, but overcount to be safe)
|
|
60
|
+
const numSigners = signerAddresses.size + 1;
|
|
61
|
+
const gasPrice = await this.queryBaseFeePerSignature();
|
|
62
|
+
const fee = BigInt(numSigners) * BigInt(gasPrice);
|
|
63
|
+
const gasUnits = BigInt(req.transaction.computeUnits ?? DEFAULT_COMPUTE_UNITS);
|
|
64
|
+
return { gasUnits, gasPrice, fee };
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Queries the RPC for the base fee per signature using a minimal
|
|
68
|
+
* unsigned message.
|
|
69
|
+
*/
|
|
70
|
+
async queryBaseFeePerSignature() {
|
|
71
|
+
try {
|
|
72
|
+
const { value: latestBlockhash } = await this.rpc
|
|
73
|
+
.getLatestBlockhash()
|
|
74
|
+
.send();
|
|
75
|
+
const baseMessage = createTransactionMessage({ version: 0 });
|
|
76
|
+
const withFeePayer = setTransactionMessageFeePayer(SYSTEM_PROGRAM_ADDRESS, baseMessage);
|
|
77
|
+
const withLifetime = setTransactionMessageLifetimeUsingBlockhash(latestBlockhash, withFeePayer);
|
|
78
|
+
const compiled = compileTransactionMessage(withLifetime);
|
|
79
|
+
const messageBytes = getCompiledTransactionMessageEncoder().encode(compiled);
|
|
80
|
+
const base64Message = Buffer.from(messageBytes).toString('base64');
|
|
81
|
+
const result = await this.rpc.getFeeForMessage(base64Message).send();
|
|
82
|
+
if (result.value != null) {
|
|
83
|
+
return Number(result.value);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
catch (error) {
|
|
87
|
+
rootLogger.debug('getFeeForMessage failed, using static fallback', {
|
|
88
|
+
error,
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
return LAMPORTS_PER_SIGNATURE;
|
|
92
|
+
}
|
|
93
|
+
// ### QUERY CORE ###
|
|
94
|
+
async getMailbox(_req) {
|
|
95
|
+
throw new Error('getMailbox not supported on Sealevel');
|
|
96
|
+
}
|
|
97
|
+
async isMessageDelivered(_req) {
|
|
98
|
+
throw new Error('isMessageDelivered not supported on Sealevel');
|
|
99
|
+
}
|
|
100
|
+
async getIsmType(_req) {
|
|
101
|
+
throw new Error('getIsmType not supported on Sealevel');
|
|
102
|
+
}
|
|
103
|
+
async getMessageIdMultisigIsm(_req) {
|
|
104
|
+
throw new Error('getMessageIdMultisigIsm not supported on Sealevel');
|
|
105
|
+
}
|
|
106
|
+
async getMerkleRootMultisigIsm(_req) {
|
|
107
|
+
throw new Error('getMerkleRootMultisigIsm not supported on Sealevel');
|
|
108
|
+
}
|
|
109
|
+
async getRoutingIsm(_req) {
|
|
110
|
+
throw new Error('getRoutingIsm not supported on Sealevel');
|
|
111
|
+
}
|
|
112
|
+
async getNoopIsm(_req) {
|
|
113
|
+
throw new Error('getNoopIsm not supported on Sealevel');
|
|
114
|
+
}
|
|
115
|
+
// ### QUERY HOOK ###
|
|
116
|
+
async getHookType(_req) {
|
|
117
|
+
throw new Error('getHookType not supported on Sealevel');
|
|
118
|
+
}
|
|
119
|
+
async getInterchainGasPaymasterHook(_req) {
|
|
120
|
+
throw new Error('getInterchainGasPaymasterHook not supported on Sealevel');
|
|
121
|
+
}
|
|
122
|
+
async getMerkleTreeHook(_req) {
|
|
123
|
+
throw new Error('getMerkleTreeHook not supported on Sealevel');
|
|
124
|
+
}
|
|
125
|
+
async getNoopHook(_req) {
|
|
126
|
+
throw new Error('getNoopHook not supported on Sealevel');
|
|
127
|
+
}
|
|
128
|
+
// ### QUERY WARP ###
|
|
129
|
+
async getToken(_req) {
|
|
130
|
+
throw new Error('getToken not supported on Sealevel, use the Artifact API instead');
|
|
131
|
+
}
|
|
132
|
+
async getRemoteRouters(_req) {
|
|
133
|
+
throw new Error('getRemoteRouters not supported on Sealevel, use the Artifact API instead');
|
|
134
|
+
}
|
|
135
|
+
async getBridgedSupply(_req) {
|
|
136
|
+
throw new Error('getBridgedSupply not supported on Sealevel, use the Artifact API instead');
|
|
137
|
+
}
|
|
138
|
+
async quoteRemoteTransfer(_req) {
|
|
139
|
+
throw new Error('quoteRemoteTransfer not supported on Sealevel, use the Artifact API instead');
|
|
140
|
+
}
|
|
141
|
+
// ### GET CORE TXS ###
|
|
142
|
+
async getCreateMailboxTransaction(_req) {
|
|
143
|
+
throw new Error('getCreateMailboxTransaction not supported on Sealevel');
|
|
144
|
+
}
|
|
145
|
+
async getSetDefaultIsmTransaction(_req) {
|
|
146
|
+
throw new Error('getSetDefaultIsmTransaction not supported on Sealevel');
|
|
147
|
+
}
|
|
148
|
+
async getSetDefaultHookTransaction(_req) {
|
|
149
|
+
throw new Error('getSetDefaultHookTransaction not supported on Sealevel');
|
|
150
|
+
}
|
|
151
|
+
async getSetRequiredHookTransaction(_req) {
|
|
152
|
+
throw new Error('getSetRequiredHookTransaction not supported on Sealevel');
|
|
153
|
+
}
|
|
154
|
+
async getSetMailboxOwnerTransaction(_req) {
|
|
155
|
+
throw new Error('getSetMailboxOwnerTransaction not supported on Sealevel');
|
|
156
|
+
}
|
|
157
|
+
async getCreateMerkleRootMultisigIsmTransaction(_req) {
|
|
158
|
+
throw new Error('getCreateMerkleRootMultisigIsmTransaction not supported on Sealevel');
|
|
159
|
+
}
|
|
160
|
+
async getCreateMessageIdMultisigIsmTransaction(_req) {
|
|
161
|
+
throw new Error('getCreateMessageIdMultisigIsmTransaction not supported on Sealevel');
|
|
162
|
+
}
|
|
163
|
+
async getCreateRoutingIsmTransaction(_req) {
|
|
164
|
+
throw new Error('getCreateRoutingIsmTransaction not supported on Sealevel');
|
|
165
|
+
}
|
|
166
|
+
async getSetRoutingIsmRouteTransaction(_req) {
|
|
167
|
+
throw new Error('getSetRoutingIsmRouteTransaction not supported on Sealevel');
|
|
168
|
+
}
|
|
169
|
+
async getRemoveRoutingIsmRouteTransaction(_req) {
|
|
170
|
+
throw new Error('getRemoveRoutingIsmRouteTransaction not supported on Sealevel');
|
|
171
|
+
}
|
|
172
|
+
async getSetRoutingIsmOwnerTransaction(_req) {
|
|
173
|
+
throw new Error('getSetRoutingIsmOwnerTransaction not supported on Sealevel');
|
|
174
|
+
}
|
|
175
|
+
async getCreateNoopIsmTransaction(_req) {
|
|
176
|
+
throw new Error('getCreateNoopIsmTransaction not supported on Sealevel');
|
|
177
|
+
}
|
|
178
|
+
async getCreateMerkleTreeHookTransaction(_req) {
|
|
179
|
+
throw new Error('getCreateMerkleTreeHookTransaction not supported on Sealevel');
|
|
180
|
+
}
|
|
181
|
+
async getCreateInterchainGasPaymasterHookTransaction(_req) {
|
|
182
|
+
throw new Error('getCreateInterchainGasPaymasterHookTransaction not supported on Sealevel');
|
|
183
|
+
}
|
|
184
|
+
async getSetInterchainGasPaymasterHookOwnerTransaction(_req) {
|
|
185
|
+
throw new Error('getSetInterchainGasPaymasterHookOwnerTransaction not supported on Sealevel');
|
|
186
|
+
}
|
|
187
|
+
async getSetDestinationGasConfigTransaction(_req) {
|
|
188
|
+
throw new Error('getSetDestinationGasConfigTransaction not supported on Sealevel');
|
|
189
|
+
}
|
|
190
|
+
async getRemoveDestinationGasConfigTransaction(_req) {
|
|
191
|
+
throw new Error('getRemoveDestinationGasConfigTransaction not supported on Sealevel');
|
|
192
|
+
}
|
|
193
|
+
async getCreateNoopHookTransaction(_req) {
|
|
194
|
+
throw new Error('getCreateNoopHookTransaction not supported on Sealevel');
|
|
195
|
+
}
|
|
196
|
+
async getCreateValidatorAnnounceTransaction(_req) {
|
|
197
|
+
throw new Error('getCreateValidatorAnnounceTransaction not supported on Sealevel');
|
|
198
|
+
}
|
|
199
|
+
async getCreateProxyAdminTransaction(_req) {
|
|
200
|
+
throw new Error('getCreateProxyAdminTransaction not supported on Sealevel');
|
|
201
|
+
}
|
|
202
|
+
async getSetProxyAdminOwnerTransaction(_req) {
|
|
203
|
+
throw new Error('getSetProxyAdminOwnerTransaction not supported on Sealevel');
|
|
204
|
+
}
|
|
205
|
+
// ### GET WARP TXS ###
|
|
206
|
+
async getCreateNativeTokenTransaction(_req) {
|
|
207
|
+
throw new Error('getCreateNativeTokenTransaction not supported on Sealevel, use the Artifact API instead');
|
|
208
|
+
}
|
|
209
|
+
async getCreateCollateralTokenTransaction(_req) {
|
|
210
|
+
throw new Error('getCreateCollateralTokenTransaction not supported on Sealevel, use the Artifact API instead');
|
|
211
|
+
}
|
|
212
|
+
async getCreateSyntheticTokenTransaction(_req) {
|
|
213
|
+
throw new Error('getCreateSyntheticTokenTransaction not supported on Sealevel, use the Artifact API instead');
|
|
214
|
+
}
|
|
215
|
+
async getSetTokenOwnerTransaction(_req) {
|
|
216
|
+
throw new Error('getSetTokenOwnerTransaction not supported on Sealevel, use the Artifact API instead');
|
|
217
|
+
}
|
|
218
|
+
async getSetTokenIsmTransaction(_req) {
|
|
219
|
+
throw new Error('getSetTokenIsmTransaction not supported on Sealevel, use the Artifact API instead');
|
|
220
|
+
}
|
|
221
|
+
async getSetTokenHookTransaction(_req) {
|
|
222
|
+
throw new Error('getSetTokenHookTransaction not supported on Sealevel, use the Artifact API instead');
|
|
223
|
+
}
|
|
224
|
+
async getEnrollRemoteRouterTransaction(_req) {
|
|
225
|
+
throw new Error('getEnrollRemoteRouterTransaction not supported on Sealevel, use the Artifact API instead');
|
|
226
|
+
}
|
|
227
|
+
async getUnenrollRemoteRouterTransaction(_req) {
|
|
228
|
+
throw new Error('getUnenrollRemoteRouterTransaction not supported on Sealevel, use the Artifact API instead');
|
|
229
|
+
}
|
|
230
|
+
async getTransferTransaction(_req) {
|
|
231
|
+
throw new Error('getTransferTransaction not supported on Sealevel, use the Artifact API instead');
|
|
232
|
+
}
|
|
233
|
+
async getRemoteTransferTransaction(_req) {
|
|
234
|
+
throw new Error('getRemoteTransferTransaction not supported on Sealevel, use the Artifact API instead');
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
//# sourceMappingURL=provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/clients/provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { type TransactionSigner } from '@solana/kit';
|
|
2
|
+
import { type AltVM } from '@hyperlane-xyz/provider-sdk';
|
|
3
|
+
import type { SvmReceipt, SvmTransaction } from '../types.js';
|
|
4
|
+
import { SvmProvider } from './provider.js';
|
|
5
|
+
export declare class SvmSigner extends SvmProvider implements AltVM.ISigner<SvmTransaction, SvmReceipt> {
|
|
6
|
+
readonly signer: TransactionSigner;
|
|
7
|
+
private readonly logger;
|
|
8
|
+
private constructor();
|
|
9
|
+
static connectWithSigner(rpcUrls: string[], privateKey: string, _extraParams?: Record<string, any>): Promise<SvmSigner>;
|
|
10
|
+
getSignerAddress(): string;
|
|
11
|
+
supportsTransactionBatching(): boolean;
|
|
12
|
+
transactionToPrintableJson(transaction: SvmTransaction): Promise<object>;
|
|
13
|
+
/**
|
|
14
|
+
* Builds, signs, and sends a transaction with a confirmed blockhash.
|
|
15
|
+
* Retries on blockhash-not-found errors from the RPC.
|
|
16
|
+
* Returns the raw transaction bytes for rebroadcasting and the
|
|
17
|
+
* lastValidBlockHeight for block-height-based expiry detection.
|
|
18
|
+
*/
|
|
19
|
+
private signAndSend;
|
|
20
|
+
/**
|
|
21
|
+
* Evaluates a signature status result. Throws on error, returns
|
|
22
|
+
* `{ confirmed: true, slot }` if confirmed/finalized, `{ confirmed: false }`
|
|
23
|
+
* if still progressing, or `null` if the signature was not found.
|
|
24
|
+
*/
|
|
25
|
+
private checkSignatureResult;
|
|
26
|
+
send(tx: SvmTransaction): Promise<SvmReceipt>;
|
|
27
|
+
sendAndConfirmTransaction(transaction: SvmTransaction): Promise<SvmReceipt>;
|
|
28
|
+
sendAndConfirmBatchTransactions(_transactions: SvmTransaction[]): Promise<SvmReceipt>;
|
|
29
|
+
createMailbox(_req: Omit<AltVM.ReqCreateMailbox, 'signer'>): Promise<AltVM.ResCreateMailbox>;
|
|
30
|
+
setDefaultIsm(_req: Omit<AltVM.ReqSetDefaultIsm, 'signer'>): Promise<AltVM.ResSetDefaultIsm>;
|
|
31
|
+
setDefaultHook(_req: Omit<AltVM.ReqSetDefaultHook, 'signer'>): Promise<AltVM.ResSetDefaultHook>;
|
|
32
|
+
setRequiredHook(_req: Omit<AltVM.ReqSetRequiredHook, 'signer'>): Promise<AltVM.ResSetRequiredHook>;
|
|
33
|
+
setMailboxOwner(_req: Omit<AltVM.ReqSetMailboxOwner, 'signer'>): Promise<AltVM.ResSetMailboxOwner>;
|
|
34
|
+
createMerkleRootMultisigIsm(_req: Omit<AltVM.ReqCreateMerkleRootMultisigIsm, 'signer'>): Promise<AltVM.ResCreateMerkleRootMultisigIsm>;
|
|
35
|
+
createMessageIdMultisigIsm(_req: Omit<AltVM.ReqCreateMessageIdMultisigIsm, 'signer'>): Promise<AltVM.ResCreateMessageIdMultisigIsm>;
|
|
36
|
+
createRoutingIsm(_req: Omit<AltVM.ReqCreateRoutingIsm, 'signer'>): Promise<AltVM.ResCreateRoutingIsm>;
|
|
37
|
+
setRoutingIsmRoute(_req: Omit<AltVM.ReqSetRoutingIsmRoute, 'signer'>): Promise<AltVM.ResSetRoutingIsmRoute>;
|
|
38
|
+
removeRoutingIsmRoute(_req: Omit<AltVM.ReqRemoveRoutingIsmRoute, 'signer'>): Promise<AltVM.ResRemoveRoutingIsmRoute>;
|
|
39
|
+
setRoutingIsmOwner(_req: Omit<AltVM.ReqSetRoutingIsmOwner, 'signer'>): Promise<AltVM.ResSetRoutingIsmOwner>;
|
|
40
|
+
createNoopIsm(_req: Omit<AltVM.ReqCreateNoopIsm, 'signer'>): Promise<AltVM.ResCreateNoopIsm>;
|
|
41
|
+
createMerkleTreeHook(_req: Omit<AltVM.ReqCreateMerkleTreeHook, 'signer'>): Promise<AltVM.ResCreateMerkleTreeHook>;
|
|
42
|
+
createInterchainGasPaymasterHook(_req: Omit<AltVM.ReqCreateInterchainGasPaymasterHook, 'signer'>): Promise<AltVM.ResCreateInterchainGasPaymasterHook>;
|
|
43
|
+
setInterchainGasPaymasterHookOwner(_req: Omit<AltVM.ReqSetInterchainGasPaymasterHookOwner, 'signer'>): Promise<AltVM.ResSetInterchainGasPaymasterHookOwner>;
|
|
44
|
+
setDestinationGasConfig(_req: Omit<AltVM.ReqSetDestinationGasConfig, 'signer'>): Promise<AltVM.ResSetDestinationGasConfig>;
|
|
45
|
+
removeDestinationGasConfig(_req: Omit<AltVM.ReqRemoveDestinationGasConfig, 'signer'>): Promise<AltVM.ResRemoveDestinationGasConfig>;
|
|
46
|
+
createNoopHook(_req: Omit<AltVM.ReqCreateNoopHook, 'signer'>): Promise<AltVM.ResCreateNoopHook>;
|
|
47
|
+
createValidatorAnnounce(_req: Omit<AltVM.ReqCreateValidatorAnnounce, 'signer'>): Promise<AltVM.ResCreateValidatorAnnounce>;
|
|
48
|
+
createProxyAdmin(_req: Omit<AltVM.ReqCreateProxyAdmin, 'signer'>): Promise<AltVM.ResCreateProxyAdmin>;
|
|
49
|
+
setProxyAdminOwner(_req: Omit<AltVM.ReqSetProxyAdminOwner, 'signer'>): Promise<AltVM.ResSetProxyAdminOwner>;
|
|
50
|
+
createNativeToken(_req: Omit<AltVM.ReqCreateNativeToken, 'signer'>): Promise<AltVM.ResCreateNativeToken>;
|
|
51
|
+
createCollateralToken(_req: Omit<AltVM.ReqCreateCollateralToken, 'signer'>): Promise<AltVM.ResCreateCollateralToken>;
|
|
52
|
+
createSyntheticToken(_req: Omit<AltVM.ReqCreateSyntheticToken, 'signer'>): Promise<AltVM.ResCreateSyntheticToken>;
|
|
53
|
+
setTokenOwner(_req: Omit<AltVM.ReqSetTokenOwner, 'signer'>): Promise<AltVM.ResSetTokenOwner>;
|
|
54
|
+
setTokenIsm(_req: Omit<AltVM.ReqSetTokenIsm, 'signer'>): Promise<AltVM.ResSetTokenIsm>;
|
|
55
|
+
setTokenHook(_req: Omit<AltVM.ReqSetTokenHook, 'signer'>): Promise<AltVM.ResSetTokenHook>;
|
|
56
|
+
enrollRemoteRouter(_req: Omit<AltVM.ReqEnrollRemoteRouter, 'signer'>): Promise<AltVM.ResEnrollRemoteRouter>;
|
|
57
|
+
unenrollRemoteRouter(_req: Omit<AltVM.ReqUnenrollRemoteRouter, 'signer'>): Promise<AltVM.ResUnenrollRemoteRouter>;
|
|
58
|
+
transfer(_req: Omit<AltVM.ReqTransfer, 'signer'>): Promise<AltVM.ResTransfer>;
|
|
59
|
+
remoteTransfer(_req: Omit<AltVM.ReqRemoteTransfer, 'signer'>): Promise<AltVM.ResRemoteTransfer>;
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=signer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../../src/clients/signer.ts"],"names":[],"mappings":"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"}
|