@axonfi/sdk 0.5.5 → 0.7.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/dist/index.d.cts CHANGED
@@ -502,7 +502,7 @@ interface PayInput {
502
502
  * executeProtocol() on-chain. The contract approves `token` to `protocol`,
503
503
  * calls it with `callData`, then revokes the approval.
504
504
  *
505
- * TypeHash: keccak256("ExecuteIntent(address bot,address protocol,bytes32 calldataHash,address token,uint256 amount,uint256 deadline,bytes32 ref)")
505
+ * TypeHash: keccak256("ExecuteIntent(address bot,address protocol,bytes32 calldataHash,address token,uint256 amount,uint256 value,uint256 deadline,bytes32 ref)")
506
506
  */
507
507
  interface ExecuteIntent {
508
508
  /** Bot's own address. Must be registered in the vault. */
@@ -515,6 +515,8 @@ interface ExecuteIntent {
515
515
  token: Address;
516
516
  /** Amount to approve (in token base units). */
517
517
  amount: bigint;
518
+ /** Native ETH to send with the protocol call (e.g. WETH.deposit, Lido.submit). 0 = no ETH. */
519
+ value: bigint;
518
520
  /** Unix timestamp after which this intent is invalid. */
519
521
  deadline: bigint;
520
522
  /** keccak256 of the off-chain memo. Full memo text stored by relayer. */
@@ -553,6 +555,8 @@ interface ExecuteInput {
553
555
  token: TokenInput;
554
556
  /** Amount to approve: bigint (raw base units), number (human-readable), or string (human-readable). */
555
557
  amount: AmountInput;
558
+ /** Native ETH to send with the call (wei). Optional, defaults to 0. Used for payable functions like WETH.deposit() or Lido.submit(). */
559
+ value?: bigint;
556
560
  /** Human-readable description. Gets keccak256-hashed to ref. */
557
561
  memo?: string;
558
562
  /**
@@ -990,6 +994,20 @@ declare function getOperatorCeilings(publicClient: PublicClient, vaultAddress: A
990
994
  * Returns 0n if operator has no bot-add permission.
991
995
  */
992
996
  declare function operatorMaxDrainPerDay(publicClient: PublicClient, vaultAddress: Address): Promise<bigint>;
997
+ /**
998
+ * Returns whether ERC-1271 bot signatures are enabled on the vault.
999
+ *
1000
+ * When disabled (default), only the vault owner's signatures are accepted by
1001
+ * external protocols (Permit2, Cowswap, Seaport). Bot signatures return
1002
+ * `0xffffffff` (invalid).
1003
+ *
1004
+ * When enabled, active bot keys can sign messages that external protocols
1005
+ * treat as vault-authorized — useful for Permit2 approvals, Cowswap orders, etc.
1006
+ *
1007
+ * If your bot interacts with a protocol that checks ERC-1271 and gets rejected,
1008
+ * the vault owner needs to call `setErc1271Bots(true)` to enable it.
1009
+ */
1010
+ declare function isErc1271BotsEnabled(publicClient: PublicClient, vaultAddress: Address): Promise<boolean>;
993
1011
  /** Returns whether the vault is currently paused. */
994
1012
  declare function isVaultPaused(publicClient: PublicClient, vaultAddress: Address): Promise<boolean>;
995
1013
  /** Returns the EIP-712 domain separator for this vault (for off-chain verification). */
@@ -1028,6 +1046,19 @@ declare function isRebalanceTokenWhitelisted(publicClient: PublicClient, vaultAd
1028
1046
  * @returns Address of the newly deployed vault.
1029
1047
  */
1030
1048
  declare function deployVault(walletClient: WalletClient, publicClient: PublicClient, relayerUrl?: string): Promise<Address>;
1049
+ /**
1050
+ * Predict the deterministic address of a vault before deployment.
1051
+ *
1052
+ * Vault addresses are deterministic via CREATE2: same owner + same nonce = same
1053
+ * address across all chains (given the factory is at the same address).
1054
+ *
1055
+ * @param publicClient Public client for the target chain.
1056
+ * @param owner Address that will own the vault.
1057
+ * @param nonce Vault index for this owner (0 for first, 1 for second, etc.).
1058
+ * @param relayerUrl Override relayer URL (defaults to https://relay.axonfi.xyz).
1059
+ * @returns The deterministic vault address.
1060
+ */
1061
+ declare function predictVaultAddress(publicClient: PublicClient, owner: Address, nonce: number, relayerUrl?: string): Promise<Address>;
1031
1062
  /**
1032
1063
  * Register a bot on the vault with its initial spending configuration.
1033
1064
  *
@@ -1272,15 +1303,7 @@ declare function signPermit2WitnessTransfer(privateKey: Hex, chainId: number, pe
1272
1303
 
1273
1304
  declare const AxonVaultAbi: readonly [{
1274
1305
  readonly type: "constructor";
1275
- readonly inputs: readonly [{
1276
- readonly name: "_owner";
1277
- readonly type: "address";
1278
- readonly internalType: "address";
1279
- }, {
1280
- readonly name: "_axonRegistry";
1281
- readonly type: "address";
1282
- readonly internalType: "address";
1283
- }];
1306
+ readonly inputs: readonly [];
1284
1307
  readonly stateMutability: "nonpayable";
1285
1308
  }, {
1286
1309
  readonly type: "receive";
@@ -1647,6 +1670,10 @@ declare const AxonVaultAbi: readonly [{
1647
1670
  readonly name: "amount";
1648
1671
  readonly type: "uint256";
1649
1672
  readonly internalType: "uint256";
1673
+ }, {
1674
+ readonly name: "value";
1675
+ readonly type: "uint256";
1676
+ readonly internalType: "uint256";
1650
1677
  }, {
1651
1678
  readonly name: "deadline";
1652
1679
  readonly type: "uint256";
@@ -1842,6 +1869,20 @@ declare const AxonVaultAbi: readonly [{
1842
1869
  readonly internalType: "bool";
1843
1870
  }];
1844
1871
  readonly stateMutability: "view";
1872
+ }, {
1873
+ readonly type: "function";
1874
+ readonly name: "initialize";
1875
+ readonly inputs: readonly [{
1876
+ readonly name: "_owner";
1877
+ readonly type: "address";
1878
+ readonly internalType: "address";
1879
+ }, {
1880
+ readonly name: "_axonRegistry";
1881
+ readonly type: "address";
1882
+ readonly internalType: "address";
1883
+ }];
1884
+ readonly outputs: readonly [];
1885
+ readonly stateMutability: "nonpayable";
1845
1886
  }, {
1846
1887
  readonly type: "function";
1847
1888
  readonly name: "isBotActive";
@@ -1870,6 +1911,44 @@ declare const AxonVaultAbi: readonly [{
1870
1911
  readonly internalType: "bool";
1871
1912
  }];
1872
1913
  readonly stateMutability: "view";
1914
+ }, {
1915
+ readonly type: "function";
1916
+ readonly name: "isValidSignature";
1917
+ readonly inputs: readonly [{
1918
+ readonly name: "hash";
1919
+ readonly type: "bytes32";
1920
+ readonly internalType: "bytes32";
1921
+ }, {
1922
+ readonly name: "signature";
1923
+ readonly type: "bytes";
1924
+ readonly internalType: "bytes";
1925
+ }];
1926
+ readonly outputs: readonly [{
1927
+ readonly name: "";
1928
+ readonly type: "bytes4";
1929
+ readonly internalType: "bytes4";
1930
+ }];
1931
+ readonly stateMutability: "view";
1932
+ }, {
1933
+ readonly type: "function";
1934
+ readonly name: "erc1271BotsEnabled";
1935
+ readonly inputs: readonly [];
1936
+ readonly outputs: readonly [{
1937
+ readonly name: "";
1938
+ readonly type: "bool";
1939
+ readonly internalType: "bool";
1940
+ }];
1941
+ readonly stateMutability: "view";
1942
+ }, {
1943
+ readonly type: "function";
1944
+ readonly name: "setErc1271Bots";
1945
+ readonly inputs: readonly [{
1946
+ readonly name: "enabled";
1947
+ readonly type: "bool";
1948
+ readonly internalType: "bool";
1949
+ }];
1950
+ readonly outputs: readonly [];
1951
+ readonly stateMutability: "nonpayable";
1873
1952
  }, {
1874
1953
  readonly type: "function";
1875
1954
  readonly name: "onERC1155BatchReceived";
@@ -2333,6 +2412,16 @@ declare const AxonVaultAbi: readonly [{
2333
2412
  }];
2334
2413
  readonly outputs: readonly [];
2335
2414
  readonly stateMutability: "nonpayable";
2415
+ }, {
2416
+ readonly type: "event";
2417
+ readonly name: "ERC1271BotsToggled";
2418
+ readonly inputs: readonly [{
2419
+ readonly name: "enabled";
2420
+ readonly type: "bool";
2421
+ readonly indexed: false;
2422
+ readonly internalType: "bool";
2423
+ }];
2424
+ readonly anonymous: false;
2336
2425
  }, {
2337
2426
  readonly type: "event";
2338
2427
  readonly name: "BotAdded";
@@ -2523,6 +2612,16 @@ declare const AxonVaultAbi: readonly [{
2523
2612
  readonly internalType: "address";
2524
2613
  }];
2525
2614
  readonly anonymous: false;
2615
+ }, {
2616
+ readonly type: "event";
2617
+ readonly name: "Initialized";
2618
+ readonly inputs: readonly [{
2619
+ readonly name: "version";
2620
+ readonly type: "uint64";
2621
+ readonly indexed: false;
2622
+ readonly internalType: "uint64";
2623
+ }];
2624
+ readonly anonymous: false;
2526
2625
  }, {
2527
2626
  readonly type: "event";
2528
2627
  readonly name: "OperatorCeilingsUpdated";
@@ -2672,6 +2771,11 @@ declare const AxonVaultAbi: readonly [{
2672
2771
  readonly type: "uint256";
2673
2772
  readonly indexed: false;
2674
2773
  readonly internalType: "uint256";
2774
+ }, {
2775
+ readonly name: "value";
2776
+ readonly type: "uint256";
2777
+ readonly indexed: false;
2778
+ readonly internalType: "uint256";
2675
2779
  }, {
2676
2780
  readonly name: "ref";
2677
2781
  readonly type: "bytes32";
@@ -2900,7 +3004,7 @@ declare const AxonVaultAbi: readonly [{
2900
3004
  readonly inputs: readonly [];
2901
3005
  }, {
2902
3006
  readonly type: "error";
2903
- readonly name: "InvalidShortString";
3007
+ readonly name: "InvalidInitialization";
2904
3008
  readonly inputs: readonly [];
2905
3009
  }, {
2906
3010
  readonly type: "error";
@@ -2926,6 +3030,10 @@ declare const AxonVaultAbi: readonly [{
2926
3030
  readonly type: "error";
2927
3031
  readonly name: "NotAuthorizedRelayer";
2928
3032
  readonly inputs: readonly [];
3033
+ }, {
3034
+ readonly type: "error";
3035
+ readonly name: "NotInitializing";
3036
+ readonly inputs: readonly [];
2929
3037
  }, {
2930
3038
  readonly type: "error";
2931
3039
  readonly name: "OperatorBotLimitReached";
@@ -3002,14 +3110,6 @@ declare const AxonVaultAbi: readonly [{
3002
3110
  readonly type: "error";
3003
3111
  readonly name: "SelfPayment";
3004
3112
  readonly inputs: readonly [];
3005
- }, {
3006
- readonly type: "error";
3007
- readonly name: "StringTooLong";
3008
- readonly inputs: readonly [{
3009
- readonly name: "str";
3010
- readonly type: "string";
3011
- readonly internalType: "string";
3012
- }];
3013
3113
  }, {
3014
3114
  readonly type: "error";
3015
3115
  readonly name: "SwapFailed";
@@ -3088,6 +3188,16 @@ declare const AxonVaultFactoryAbi: readonly [{
3088
3188
  readonly internalType: "address";
3089
3189
  }];
3090
3190
  readonly stateMutability: "nonpayable";
3191
+ }, {
3192
+ readonly type: "function";
3193
+ readonly name: "implementation";
3194
+ readonly inputs: readonly [];
3195
+ readonly outputs: readonly [{
3196
+ readonly name: "";
3197
+ readonly type: "address";
3198
+ readonly internalType: "address";
3199
+ }];
3200
+ readonly stateMutability: "view";
3091
3201
  }, {
3092
3202
  readonly type: "function";
3093
3203
  readonly name: "owner";
@@ -3140,6 +3250,24 @@ declare const AxonVaultFactoryAbi: readonly [{
3140
3250
  readonly internalType: "address";
3141
3251
  }];
3142
3252
  readonly stateMutability: "view";
3253
+ }, {
3254
+ readonly type: "function";
3255
+ readonly name: "predictVaultAddress";
3256
+ readonly inputs: readonly [{
3257
+ readonly name: "owner";
3258
+ readonly type: "address";
3259
+ readonly internalType: "address";
3260
+ }, {
3261
+ readonly name: "nonce";
3262
+ readonly type: "uint256";
3263
+ readonly internalType: "uint256";
3264
+ }];
3265
+ readonly outputs: readonly [{
3266
+ readonly name: "";
3267
+ readonly type: "address";
3268
+ readonly internalType: "address";
3269
+ }];
3270
+ readonly stateMutability: "view";
3143
3271
  }, {
3144
3272
  readonly type: "function";
3145
3273
  readonly name: "renounceOwnership";
@@ -3221,6 +3349,22 @@ declare const AxonVaultFactoryAbi: readonly [{
3221
3349
  readonly internalType: "address";
3222
3350
  }];
3223
3351
  readonly anonymous: false;
3352
+ }, {
3353
+ readonly type: "error";
3354
+ readonly name: "FailedDeployment";
3355
+ readonly inputs: readonly [];
3356
+ }, {
3357
+ readonly type: "error";
3358
+ readonly name: "InsufficientBalance";
3359
+ readonly inputs: readonly [{
3360
+ readonly name: "balance";
3361
+ readonly type: "uint256";
3362
+ readonly internalType: "uint256";
3363
+ }, {
3364
+ readonly name: "needed";
3365
+ readonly type: "uint256";
3366
+ readonly internalType: "uint256";
3367
+ }];
3224
3368
  }, {
3225
3369
  readonly type: "error";
3226
3370
  readonly name: "OwnableInvalidOwner";
@@ -3297,6 +3441,30 @@ declare const AxonRegistryAbi: readonly [{
3297
3441
  }];
3298
3442
  readonly outputs: readonly [];
3299
3443
  readonly stateMutability: "nonpayable";
3444
+ }, {
3445
+ readonly type: "function";
3446
+ readonly name: "approveProtocol";
3447
+ readonly inputs: readonly [{
3448
+ readonly name: "protocol";
3449
+ readonly type: "address";
3450
+ readonly internalType: "address";
3451
+ }];
3452
+ readonly outputs: readonly [];
3453
+ readonly stateMutability: "nonpayable";
3454
+ }, {
3455
+ readonly type: "function";
3456
+ readonly name: "isApprovedProtocol";
3457
+ readonly inputs: readonly [{
3458
+ readonly name: "protocol";
3459
+ readonly type: "address";
3460
+ readonly internalType: "address";
3461
+ }];
3462
+ readonly outputs: readonly [{
3463
+ readonly name: "";
3464
+ readonly type: "bool";
3465
+ readonly internalType: "bool";
3466
+ }];
3467
+ readonly stateMutability: "view";
3300
3468
  }, {
3301
3469
  readonly type: "function";
3302
3470
  readonly name: "isApprovedSwapRouter";
@@ -3395,6 +3563,16 @@ declare const AxonRegistryAbi: readonly [{
3395
3563
  }];
3396
3564
  readonly outputs: readonly [];
3397
3565
  readonly stateMutability: "nonpayable";
3566
+ }, {
3567
+ readonly type: "function";
3568
+ readonly name: "revokeProtocol";
3569
+ readonly inputs: readonly [{
3570
+ readonly name: "protocol";
3571
+ readonly type: "address";
3572
+ readonly internalType: "address";
3573
+ }];
3574
+ readonly outputs: readonly [];
3575
+ readonly stateMutability: "nonpayable";
3398
3576
  }, {
3399
3577
  readonly type: "function";
3400
3578
  readonly name: "setOracleConfig";
@@ -3523,6 +3701,26 @@ declare const AxonRegistryAbi: readonly [{
3523
3701
  readonly internalType: "address";
3524
3702
  }];
3525
3703
  readonly anonymous: false;
3704
+ }, {
3705
+ readonly type: "event";
3706
+ readonly name: "ProtocolApproved";
3707
+ readonly inputs: readonly [{
3708
+ readonly name: "protocol";
3709
+ readonly type: "address";
3710
+ readonly indexed: true;
3711
+ readonly internalType: "address";
3712
+ }];
3713
+ readonly anonymous: false;
3714
+ }, {
3715
+ readonly type: "event";
3716
+ readonly name: "ProtocolRevoked";
3717
+ readonly inputs: readonly [{
3718
+ readonly name: "protocol";
3719
+ readonly type: "address";
3720
+ readonly indexed: true;
3721
+ readonly internalType: "address";
3722
+ }];
3723
+ readonly anonymous: false;
3526
3724
  }, {
3527
3725
  readonly type: "event";
3528
3726
  readonly name: "RelayerAdded";
@@ -3601,4 +3799,4 @@ declare const AxonRegistryAbi: readonly [{
3601
3799
  readonly inputs: readonly [];
3602
3800
  }];
3603
3801
 
3604
- export { type AmountInput, AxonClient, type AxonClientConfig, AxonRegistryAbi, AxonVaultAbi, AxonVaultFactoryAbi, type BotConfig, type BotConfigInput, type BotConfigParams, CHAIN_NAMES, Chain, DEFAULT_APPROVED_TOKENS, DEFAULT_DEADLINE_SECONDS, type DestinationCheckResult, EIP712_DOMAIN_NAME, EIP712_DOMAIN_VERSION, EXECUTE_INTENT_TYPEHASH, EXPLORER_ADDR, EXPLORER_TX, type ExecuteInput, type ExecuteIntent, KNOWN_TOKENS, type KeystoreV3, type KnownToken, type KnownTokenSymbol, NATIVE_ETH, type OperatorCeilings, PAYMENT_INTENT_TYPEHASH, PERMIT2_ADDRESS, type PayInput, PaymentErrorCode, type PaymentIntent, type PaymentResult, type PaymentStatus, type Permit2Authorization, RELAYER_API, type RebalanceTokensResult, SUPPORTED_CHAIN_IDS, SWAP_INTENT_TYPEHASH, type SpendingLimit, type SpendingLimitInput, type SupportedChainId, type SwapInput, type SwapIntent, Token, type TokenInput, type TosStatus, type TransferAuthorization, USDC, USDC_EIP712_DOMAIN, type VaultInfo, WINDOW, WITNESS_TYPE_STRING, type X402HandleResult, type X402PaymentOption, type X402PaymentRequired, type X402Resource, X402_PROXY_ADDRESS, addBot, createAxonPublicClient, createAxonWalletClient, decryptKeystore, deployVault, deposit, encodeRef, encryptKeystore, extractX402Metadata, findMatchingOption, formatPaymentSignature, getBotConfig, getChain, getDefaultApprovedTokens, getDomainSeparator, getKnownTokensForChain, getOperatorCeilings, getRebalanceTokenCount, getTokenSymbolByAddress, getVaultOperator, getVaultOwner, getVaultVersion, isBotActive, isDestinationAllowed, isRebalanceTokenWhitelisted, isVaultPaused, operatorMaxDrainPerDay, parseAmount, parseChainId, parsePaymentRequired, randomNonce, randomPermit2Nonce, removeBot, resolveToken, resolveTokenDecimals, signExecuteIntent, signPayment, signPermit2WitnessTransfer, signSwapIntent, signTransferWithAuthorization, toBotConfigParams, updateBotConfig };
3802
+ export { type AmountInput, AxonClient, type AxonClientConfig, AxonRegistryAbi, AxonVaultAbi, AxonVaultFactoryAbi, type BotConfig, type BotConfigInput, type BotConfigParams, CHAIN_NAMES, Chain, DEFAULT_APPROVED_TOKENS, DEFAULT_DEADLINE_SECONDS, type DestinationCheckResult, EIP712_DOMAIN_NAME, EIP712_DOMAIN_VERSION, EXECUTE_INTENT_TYPEHASH, EXPLORER_ADDR, EXPLORER_TX, type ExecuteInput, type ExecuteIntent, KNOWN_TOKENS, type KeystoreV3, type KnownToken, type KnownTokenSymbol, NATIVE_ETH, type OperatorCeilings, PAYMENT_INTENT_TYPEHASH, PERMIT2_ADDRESS, type PayInput, PaymentErrorCode, type PaymentIntent, type PaymentResult, type PaymentStatus, type Permit2Authorization, RELAYER_API, type RebalanceTokensResult, SUPPORTED_CHAIN_IDS, SWAP_INTENT_TYPEHASH, type SpendingLimit, type SpendingLimitInput, type SupportedChainId, type SwapInput, type SwapIntent, Token, type TokenInput, type TosStatus, type TransferAuthorization, USDC, USDC_EIP712_DOMAIN, type VaultInfo, WINDOW, WITNESS_TYPE_STRING, type X402HandleResult, type X402PaymentOption, type X402PaymentRequired, type X402Resource, X402_PROXY_ADDRESS, addBot, createAxonPublicClient, createAxonWalletClient, decryptKeystore, deployVault, deposit, encodeRef, encryptKeystore, extractX402Metadata, findMatchingOption, formatPaymentSignature, getBotConfig, getChain, getDefaultApprovedTokens, getDomainSeparator, getKnownTokensForChain, getOperatorCeilings, getRebalanceTokenCount, getTokenSymbolByAddress, getVaultOperator, getVaultOwner, getVaultVersion, isBotActive, isDestinationAllowed, isErc1271BotsEnabled, isRebalanceTokenWhitelisted, isVaultPaused, operatorMaxDrainPerDay, parseAmount, parseChainId, parsePaymentRequired, predictVaultAddress, randomNonce, randomPermit2Nonce, removeBot, resolveToken, resolveTokenDecimals, signExecuteIntent, signPayment, signPermit2WitnessTransfer, signSwapIntent, signTransferWithAuthorization, toBotConfigParams, updateBotConfig };