clanker-sdk 4.2.16 → 4.2.18

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.
@@ -31,6 +31,32 @@ var monad = /* @__PURE__ */ defineChain({
31
31
  testnet: false
32
32
  });
33
33
 
34
+ // src/utils/chains/robinhood.ts
35
+ import { defineChain as defineChain2 } from "viem";
36
+ var robinhood = /* @__PURE__ */ defineChain2({
37
+ id: 4663,
38
+ name: "Robinhood Chain",
39
+ blockTime: 100,
40
+ nativeCurrency: {
41
+ name: "Ether",
42
+ symbol: "ETH",
43
+ decimals: 18
44
+ },
45
+ rpcUrls: {
46
+ default: {
47
+ http: ["https://rpc.mainnet.chain.robinhood.com"]
48
+ }
49
+ },
50
+ blockExplorers: {
51
+ default: {
52
+ name: "Robinhood Chain Blockscout Explorer",
53
+ url: "https://robinhoodchain.blockscout.com"
54
+ }
55
+ },
56
+ contracts: {},
57
+ testnet: false
58
+ });
59
+
34
60
  // src/cli/utils/chains.ts
35
61
  var CHAIN_MAP = {
36
62
  base,
@@ -39,14 +65,15 @@ var CHAIN_MAP = {
39
65
  ethereum: mainnet,
40
66
  bsc,
41
67
  unichain,
42
- monad
68
+ monad,
69
+ robinhood
43
70
  };
44
71
  var CHAIN_NAMES = Object.keys(CHAIN_MAP);
45
72
 
46
73
  // src/cli/utils/config.ts
47
- import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
48
- import { homedir } from "node:os";
49
- import { join } from "node:path";
74
+ import { existsSync, mkdirSync, readFileSync, writeFileSync } from "fs";
75
+ import { homedir } from "os";
76
+ import { join } from "path";
50
77
  var CONFIG_DIR = join(homedir(), ".clanker");
51
78
  var CONFIG_PATH = join(CONFIG_DIR, "config.json");
52
79
  function ensureDir() {
@@ -179,7 +206,8 @@ var PUBLIC_RPCS = {
179
206
  arbitrum: "https://arb1.arbitrum.io/rpc",
180
207
  ethereum: "https://eth.llamarpc.com",
181
208
  bsc: "https://bsc-dataseed.binance.org",
182
- unichain: "https://mainnet.unichain.org"
209
+ unichain: "https://mainnet.unichain.org",
210
+ robinhood: "https://rpc.mainnet.chain.robinhood.com"
183
211
  };
184
212
  function registerSetupCommand(program) {
185
213
  program.command("setup").description("Configure wallet and RPC settings").action(async (_opts, command) => {
@@ -1950,6 +1950,33 @@ var monad = /* @__PURE__ */ defineChain({
1950
1950
  testnet: false
1951
1951
  });
1952
1952
 
1953
+ // src/utils/chains/robinhood.ts
1954
+ import { defineChain as defineChain2 } from "viem";
1955
+ var robinhood = /* @__PURE__ */ defineChain2({
1956
+ id: 4663,
1957
+ name: "Robinhood Chain",
1958
+ blockTime: 100,
1959
+ nativeCurrency: {
1960
+ name: "Ether",
1961
+ symbol: "ETH",
1962
+ decimals: 18
1963
+ },
1964
+ rpcUrls: {
1965
+ default: {
1966
+ http: ["https://rpc.mainnet.chain.robinhood.com"]
1967
+ }
1968
+ },
1969
+ blockExplorers: {
1970
+ default: {
1971
+ name: "Robinhood Chain Blockscout Explorer",
1972
+ url: "https://robinhoodchain.blockscout.com"
1973
+ }
1974
+ },
1975
+ contracts: {},
1976
+ testnet: false
1977
+ });
1978
+ var ROBINHOOD_WETH_ADDRESS = "0x0Bd7D308f8E1639FAb988df18A8011f41EAcAD73";
1979
+
1953
1980
  // src/constants.ts
1954
1981
  var WBNB_ADDRESS = "0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c";
1955
1982
  var WETH_ADDRESSES = {
@@ -1962,7 +1989,8 @@ var WETH_ADDRESSES = {
1962
1989
  [abstract.id]: "0x3439153EB7AF838Ad19d56E1571FBD09333C2809",
1963
1990
  [monadTestnet.id]: "0x760AfE86e5de5fa0Ee542fc7B7B713e1c5425701",
1964
1991
  // WMON
1965
- [monad.id]: "0x3bd359c1119da7da1d913d1c4d2b7c461115433a"
1992
+ [monad.id]: "0x3bd359c1119da7da1d913d1c4d2b7c461115433a",
1993
+ [robinhood.id]: ROBINHOOD_WETH_ADDRESS
1966
1994
  };
1967
1995
  var DEFAULT_SUPPLY = 100000000000000000000000000000n;
1968
1996
  var POOL_POSITIONS = {
@@ -6613,6 +6641,30 @@ var CLANKERS = {
6613
6641
  feeDynamicHook: "0x0000000000000000000000000000000000000000",
6614
6642
  feeDynamicHookV2: "0x011a8ed40095F2D7E9c19125B8254b19678D68Cc"
6615
6643
  }
6644
+ },
6645
+ clanker_v4_robinhood: {
6646
+ abi: Clanker_v4_abi,
6647
+ token: {
6648
+ abi: ClankerToken_v4_abi,
6649
+ // Robinhood mainnet deploys the same ClankerToken creation bytecode as BSC v4.1.
6650
+ bytecode: ClankerToken_v4_bsc_bytecode
6651
+ },
6652
+ chainId: robinhood.id,
6653
+ type: "clanker_v4",
6654
+ address: "0xD3f2cC1731b7Fd17f28798835C2E02f0a1839A94",
6655
+ related: {
6656
+ locker: "0x290F735F63824BB5836cDe24a35F5103A5B5Bc99",
6657
+ vault: "0x99B2a80ed21c7af1F5cc1A97383DADeEC7DD1427",
6658
+ airdrop: "0x6f27372FF493A3855E6746b9a4fe6Ed2Cc3034B5",
6659
+ devbuy: "0xa27b1986e5c7e5371Cb6507f87918fBD0302fF5a",
6660
+ mevModule: "0xEA1Fe197dF140e5d88fC6B49f2d21Ea05092299e",
6661
+ mevDescendingFees: true,
6662
+ feeLocker: "0x88db2340bE5991B2b5Fca2Baee39B5CE048Cd70c",
6663
+ feeStaticHook: "0x0000000000000000000000000000000000000000",
6664
+ feeStaticHookV2: "0x48B8F6AD3A1b4aA477314c9a23035b8F84dDe8cc",
6665
+ feeDynamicHook: "0x0000000000000000000000000000000000000000",
6666
+ feeDynamicHookV2: "0x65efDF8Cce99b53C925DF878Df275Df21cB6E8Cc"
6667
+ }
6616
6668
  }
6617
6669
  };
6618
6670
  var Chains = [...new Set(Object.values(CLANKERS).map(({ chainId }) => chainId))];
@@ -7003,7 +7055,7 @@ var clankerTokenV4Converter = async (config) => {
7003
7055
  },
7004
7056
  mevModuleConfig: {
7005
7057
  mevModule: clankerConfig.related?.mevModuleV2 || clankerConfig.related?.mevModule,
7006
- mevModuleData: clankerConfig.related?.mevModuleV2 ? encodeAbiParameters2(Clanker_MevSniperAuction_InitData_v4_1_abi, [
7058
+ mevModuleData: clankerConfig.related?.mevModuleV2 || clankerConfig.related?.mevDescendingFees ? encodeAbiParameters2(Clanker_MevSniperAuction_InitData_v4_1_abi, [
7007
7059
  {
7008
7060
  startingFee: cfg.sniperFees.startingFee,
7009
7061
  endingFee: cfg.sniperFees.endingFee,
@@ -7144,6 +7196,8 @@ var ClankerError = class _ClankerError extends Error {
7144
7196
  this.error = error;
7145
7197
  this.data = data;
7146
7198
  }
7199
+ error;
7200
+ data;
7147
7201
  static unknown(e, name) {
7148
7202
  return new _ClankerError(e, {
7149
7203
  type: "unknown",
@@ -7989,7 +8043,8 @@ var CHAIN_MAP = {
7989
8043
  ethereum: mainnet3,
7990
8044
  bsc: bsc3,
7991
8045
  unichain: unichain3,
7992
- monad
8046
+ monad,
8047
+ robinhood
7993
8048
  };
7994
8049
  var CHAIN_NAMES = Object.keys(CHAIN_MAP);
7995
8050
  function resolveChain(name) {
@@ -8001,9 +8056,9 @@ function resolveChain(name) {
8001
8056
  }
8002
8057
 
8003
8058
  // src/cli/utils/config.ts
8004
- import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
8005
- import { homedir } from "node:os";
8006
- import { join } from "node:path";
8059
+ import { existsSync, mkdirSync, readFileSync, writeFileSync } from "fs";
8060
+ import { homedir } from "os";
8061
+ import { join } from "path";
8007
8062
  var CONFIG_DIR = join(homedir(), ".clanker");
8008
8063
  var CONFIG_PATH = join(CONFIG_DIR, "config.json");
8009
8064
  function loadConfig() {
@@ -12,6 +12,8 @@ var ClankerError = class _ClankerError extends Error {
12
12
  this.error = error;
13
13
  this.data = data;
14
14
  }
15
+ error;
16
+ data;
15
17
  static unknown(e, name) {
16
18
  return new _ClankerError(e, {
17
19
  type: "unknown",
@@ -2068,6 +2070,33 @@ var monad = /* @__PURE__ */ defineChain({
2068
2070
  testnet: false
2069
2071
  });
2070
2072
 
2073
+ // src/utils/chains/robinhood.ts
2074
+ import { defineChain as defineChain2 } from "viem";
2075
+ var robinhood = /* @__PURE__ */ defineChain2({
2076
+ id: 4663,
2077
+ name: "Robinhood Chain",
2078
+ blockTime: 100,
2079
+ nativeCurrency: {
2080
+ name: "Ether",
2081
+ symbol: "ETH",
2082
+ decimals: 18
2083
+ },
2084
+ rpcUrls: {
2085
+ default: {
2086
+ http: ["https://rpc.mainnet.chain.robinhood.com"]
2087
+ }
2088
+ },
2089
+ blockExplorers: {
2090
+ default: {
2091
+ name: "Robinhood Chain Blockscout Explorer",
2092
+ url: "https://robinhoodchain.blockscout.com"
2093
+ }
2094
+ },
2095
+ contracts: {},
2096
+ testnet: false
2097
+ });
2098
+ var ROBINHOOD_WETH_ADDRESS = "0x0Bd7D308f8E1639FAb988df18A8011f41EAcAD73";
2099
+
2071
2100
  // src/constants.ts
2072
2101
  var WBNB_ADDRESS = "0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c";
2073
2102
  var WETH_ADDRESSES = {
@@ -2080,7 +2109,8 @@ var WETH_ADDRESSES = {
2080
2109
  [abstract.id]: "0x3439153EB7AF838Ad19d56E1571FBD09333C2809",
2081
2110
  [monadTestnet.id]: "0x760AfE86e5de5fa0Ee542fc7B7B713e1c5425701",
2082
2111
  // WMON
2083
- [monad.id]: "0x3bd359c1119da7da1d913d1c4d2b7c461115433a"
2112
+ [monad.id]: "0x3bd359c1119da7da1d913d1c4d2b7c461115433a",
2113
+ [robinhood.id]: ROBINHOOD_WETH_ADDRESS
2084
2114
  };
2085
2115
  var DEFAULT_SUPPLY = 100000000000000000000000000000n;
2086
2116
  var POOL_POSITIONS = {
@@ -6731,6 +6761,30 @@ var CLANKERS = {
6731
6761
  feeDynamicHook: "0x0000000000000000000000000000000000000000",
6732
6762
  feeDynamicHookV2: "0x011a8ed40095F2D7E9c19125B8254b19678D68Cc"
6733
6763
  }
6764
+ },
6765
+ clanker_v4_robinhood: {
6766
+ abi: Clanker_v4_abi,
6767
+ token: {
6768
+ abi: ClankerToken_v4_abi,
6769
+ // Robinhood mainnet deploys the same ClankerToken creation bytecode as BSC v4.1.
6770
+ bytecode: ClankerToken_v4_bsc_bytecode
6771
+ },
6772
+ chainId: robinhood.id,
6773
+ type: "clanker_v4",
6774
+ address: "0xD3f2cC1731b7Fd17f28798835C2E02f0a1839A94",
6775
+ related: {
6776
+ locker: "0x290F735F63824BB5836cDe24a35F5103A5B5Bc99",
6777
+ vault: "0x99B2a80ed21c7af1F5cc1A97383DADeEC7DD1427",
6778
+ airdrop: "0x6f27372FF493A3855E6746b9a4fe6Ed2Cc3034B5",
6779
+ devbuy: "0xa27b1986e5c7e5371Cb6507f87918fBD0302fF5a",
6780
+ mevModule: "0xEA1Fe197dF140e5d88fC6B49f2d21Ea05092299e",
6781
+ mevDescendingFees: true,
6782
+ feeLocker: "0x88db2340bE5991B2b5Fca2Baee39B5CE048Cd70c",
6783
+ feeStaticHook: "0x0000000000000000000000000000000000000000",
6784
+ feeStaticHookV2: "0x48B8F6AD3A1b4aA477314c9a23035b8F84dDe8cc",
6785
+ feeDynamicHook: "0x0000000000000000000000000000000000000000",
6786
+ feeDynamicHookV2: "0x65efDF8Cce99b53C925DF878Df275Df21cB6E8Cc"
6787
+ }
6734
6788
  }
6735
6789
  };
6736
6790
  var Chains = [...new Set(Object.values(CLANKERS).map(({ chainId }) => chainId))];
@@ -7121,7 +7175,7 @@ var clankerTokenV4Converter = async (config) => {
7121
7175
  },
7122
7176
  mevModuleConfig: {
7123
7177
  mevModule: clankerConfig.related?.mevModuleV2 || clankerConfig.related?.mevModule,
7124
- mevModuleData: clankerConfig.related?.mevModuleV2 ? encodeAbiParameters2(Clanker_MevSniperAuction_InitData_v4_1_abi, [
7178
+ mevModuleData: clankerConfig.related?.mevModuleV2 || clankerConfig.related?.mevDescendingFees ? encodeAbiParameters2(Clanker_MevSniperAuction_InitData_v4_1_abi, [
7125
7179
  {
7126
7180
  startingFee: cfg.sniperFees.startingFee,
7127
7181
  endingFee: cfg.sniperFees.endingFee,
@@ -8006,7 +8060,8 @@ var CHAIN_MAP = {
8006
8060
  ethereum: mainnet3,
8007
8061
  bsc: bsc3,
8008
8062
  unichain: unichain3,
8009
- monad
8063
+ monad,
8064
+ robinhood
8010
8065
  };
8011
8066
  var CHAIN_NAMES = Object.keys(CHAIN_MAP);
8012
8067
  function resolveChain(name) {
@@ -8018,9 +8073,9 @@ function resolveChain(name) {
8018
8073
  }
8019
8074
 
8020
8075
  // src/cli/utils/config.ts
8021
- import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
8022
- import { homedir } from "node:os";
8023
- import { join } from "node:path";
8076
+ import { existsSync, mkdirSync, readFileSync, writeFileSync } from "fs";
8077
+ import { homedir } from "os";
8078
+ import { join } from "path";
8024
8079
  var CONFIG_DIR = join(homedir(), ".clanker");
8025
8080
  var CONFIG_PATH = join(CONFIG_DIR, "config.json");
8026
8081
  function loadConfig() {
@@ -1,16 +1,16 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  // node_modules/tsup/assets/esm_shims.js
4
- import { fileURLToPath } from "url";
5
4
  import path from "path";
5
+ import { fileURLToPath } from "url";
6
6
  var getFilename = () => fileURLToPath(import.meta.url);
7
7
  var getDirname = () => path.dirname(getFilename());
8
8
  var __dirname = /* @__PURE__ */ getDirname();
9
9
 
10
10
  // src/cli/create-clanker.ts
11
- import * as fs from "node:fs";
12
- import * as path2 from "node:path";
13
- import { fileURLToPath as fileURLToPath2 } from "node:url";
11
+ import * as fs from "fs";
12
+ import * as path2 from "path";
13
+ import { fileURLToPath as fileURLToPath2 } from "url";
14
14
  import inquirer from "inquirer";
15
15
  import { createPublicClient, createWalletClient, http, stringify as stringify2 } from "viem";
16
16
  import { privateKeyToAccount } from "viem/accounts";
@@ -3116,6 +3116,33 @@ var monad = /* @__PURE__ */ defineChain({
3116
3116
  testnet: false
3117
3117
  });
3118
3118
 
3119
+ // src/utils/chains/robinhood.ts
3120
+ import { defineChain as defineChain2 } from "viem";
3121
+ var robinhood = /* @__PURE__ */ defineChain2({
3122
+ id: 4663,
3123
+ name: "Robinhood Chain",
3124
+ blockTime: 100,
3125
+ nativeCurrency: {
3126
+ name: "Ether",
3127
+ symbol: "ETH",
3128
+ decimals: 18
3129
+ },
3130
+ rpcUrls: {
3131
+ default: {
3132
+ http: ["https://rpc.mainnet.chain.robinhood.com"]
3133
+ }
3134
+ },
3135
+ blockExplorers: {
3136
+ default: {
3137
+ name: "Robinhood Chain Blockscout Explorer",
3138
+ url: "https://robinhoodchain.blockscout.com"
3139
+ }
3140
+ },
3141
+ contracts: {},
3142
+ testnet: false
3143
+ });
3144
+ var ROBINHOOD_WETH_ADDRESS = "0x0Bd7D308f8E1639FAb988df18A8011f41EAcAD73";
3145
+
3119
3146
  // src/constants.ts
3120
3147
  var DEGEN_ADDRESS = "0x4ed4E862860beD51a9570b96d89aF5E1B0Efefed";
3121
3148
  var NATIVE_ADDRESS = "0x20DD04c17AFD5c9a8b3f2cdacaa8Ee7907385BEF";
@@ -3135,7 +3162,8 @@ var WETH_ADDRESSES = {
3135
3162
  [abstract.id]: "0x3439153EB7AF838Ad19d56E1571FBD09333C2809",
3136
3163
  [monadTestnet.id]: "0x760AfE86e5de5fa0Ee542fc7B7B713e1c5425701",
3137
3164
  // WMON
3138
- [monad.id]: "0x3bd359c1119da7da1d913d1c4d2b7c461115433a"
3165
+ [monad.id]: "0x3bd359c1119da7da1d913d1c4d2b7c461115433a",
3166
+ [robinhood.id]: ROBINHOOD_WETH_ADDRESS
3139
3167
  };
3140
3168
  var DEFAULT_SUPPLY = 100000000000000000000000000000n;
3141
3169
 
@@ -6198,6 +6226,30 @@ var CLANKERS = {
6198
6226
  feeDynamicHook: "0x0000000000000000000000000000000000000000",
6199
6227
  feeDynamicHookV2: "0x011a8ed40095F2D7E9c19125B8254b19678D68Cc"
6200
6228
  }
6229
+ },
6230
+ clanker_v4_robinhood: {
6231
+ abi: Clanker_v4_abi,
6232
+ token: {
6233
+ abi: ClankerToken_v4_abi,
6234
+ // Robinhood mainnet deploys the same ClankerToken creation bytecode as BSC v4.1.
6235
+ bytecode: ClankerToken_v4_bsc_bytecode
6236
+ },
6237
+ chainId: robinhood.id,
6238
+ type: "clanker_v4",
6239
+ address: "0xD3f2cC1731b7Fd17f28798835C2E02f0a1839A94",
6240
+ related: {
6241
+ locker: "0x290F735F63824BB5836cDe24a35F5103A5B5Bc99",
6242
+ vault: "0x99B2a80ed21c7af1F5cc1A97383DADeEC7DD1427",
6243
+ airdrop: "0x6f27372FF493A3855E6746b9a4fe6Ed2Cc3034B5",
6244
+ devbuy: "0xa27b1986e5c7e5371Cb6507f87918fBD0302fF5a",
6245
+ mevModule: "0xEA1Fe197dF140e5d88fC6B49f2d21Ea05092299e",
6246
+ mevDescendingFees: true,
6247
+ feeLocker: "0x88db2340bE5991B2b5Fca2Baee39B5CE048Cd70c",
6248
+ feeStaticHook: "0x0000000000000000000000000000000000000000",
6249
+ feeStaticHookV2: "0x48B8F6AD3A1b4aA477314c9a23035b8F84dDe8cc",
6250
+ feeDynamicHook: "0x0000000000000000000000000000000000000000",
6251
+ feeDynamicHookV2: "0x65efDF8Cce99b53C925DF878Df275Df21cB6E8Cc"
6252
+ }
6201
6253
  }
6202
6254
  };
6203
6255
  var Chains = [...new Set(Object.values(CLANKERS).map(({ chainId }) => chainId))];
@@ -6536,6 +6588,8 @@ var ClankerError = class _ClankerError extends Error {
6536
6588
  this.error = error;
6537
6589
  this.data = data;
6538
6590
  }
6591
+ error;
6592
+ data;
6539
6593
  static unknown(e, name) {
6540
6594
  return new _ClankerError(e, {
6541
6595
  type: "unknown",
@@ -27,6 +27,32 @@ var monad = /* @__PURE__ */ defineChain({
27
27
  testnet: false
28
28
  });
29
29
 
30
+ // src/utils/chains/robinhood.ts
31
+ import { defineChain as defineChain2 } from "viem";
32
+ var robinhood = /* @__PURE__ */ defineChain2({
33
+ id: 4663,
34
+ name: "Robinhood Chain",
35
+ blockTime: 100,
36
+ nativeCurrency: {
37
+ name: "Ether",
38
+ symbol: "ETH",
39
+ decimals: 18
40
+ },
41
+ rpcUrls: {
42
+ default: {
43
+ http: ["https://rpc.mainnet.chain.robinhood.com"]
44
+ }
45
+ },
46
+ blockExplorers: {
47
+ default: {
48
+ name: "Robinhood Chain Blockscout Explorer",
49
+ url: "https://robinhoodchain.blockscout.com"
50
+ }
51
+ },
52
+ contracts: {},
53
+ testnet: false
54
+ });
55
+
30
56
  // src/cli/utils/chains.ts
31
57
  var CHAIN_MAP = {
32
58
  base,
@@ -35,7 +61,8 @@ var CHAIN_MAP = {
35
61
  ethereum: mainnet,
36
62
  bsc,
37
63
  unichain,
38
- monad
64
+ monad,
65
+ robinhood
39
66
  };
40
67
  var CHAIN_NAMES = Object.keys(CHAIN_MAP);
41
68
  function resolveChain(name) {
@@ -1,7 +1,7 @@
1
1
  // src/cli/utils/config.ts
2
- import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
3
- import { homedir } from "node:os";
4
- import { join } from "node:path";
2
+ import { existsSync, mkdirSync, readFileSync, writeFileSync } from "fs";
3
+ import { homedir } from "os";
4
+ import { join } from "path";
5
5
  var CONFIG_DIR = join(homedir(), ".clanker");
6
6
  var CONFIG_PATH = join(CONFIG_DIR, "config.json");
7
7
  function ensureDir() {
@@ -35,6 +35,32 @@ var monad = /* @__PURE__ */ defineChain({
35
35
  testnet: false
36
36
  });
37
37
 
38
+ // src/utils/chains/robinhood.ts
39
+ import { defineChain as defineChain2 } from "viem";
40
+ var robinhood = /* @__PURE__ */ defineChain2({
41
+ id: 4663,
42
+ name: "Robinhood Chain",
43
+ blockTime: 100,
44
+ nativeCurrency: {
45
+ name: "Ether",
46
+ symbol: "ETH",
47
+ decimals: 18
48
+ },
49
+ rpcUrls: {
50
+ default: {
51
+ http: ["https://rpc.mainnet.chain.robinhood.com"]
52
+ }
53
+ },
54
+ blockExplorers: {
55
+ default: {
56
+ name: "Robinhood Chain Blockscout Explorer",
57
+ url: "https://robinhoodchain.blockscout.com"
58
+ }
59
+ },
60
+ contracts: {},
61
+ testnet: false
62
+ });
63
+
38
64
  // src/cli/utils/chains.ts
39
65
  var CHAIN_MAP = {
40
66
  base,
@@ -43,7 +69,8 @@ var CHAIN_MAP = {
43
69
  ethereum: mainnet,
44
70
  bsc,
45
71
  unichain,
46
- monad
72
+ monad,
73
+ robinhood
47
74
  };
48
75
  var CHAIN_NAMES = Object.keys(CHAIN_MAP);
49
76
  function resolveChain(name) {
@@ -55,9 +82,9 @@ function resolveChain(name) {
55
82
  }
56
83
 
57
84
  // src/cli/utils/config.ts
58
- import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
59
- import { homedir } from "node:os";
60
- import { join } from "node:path";
85
+ import { existsSync, mkdirSync, readFileSync, writeFileSync } from "fs";
86
+ import { homedir } from "os";
87
+ import { join } from "path";
61
88
  var CONFIG_DIR = join(homedir(), ".clanker");
62
89
  var CONFIG_PATH = join(CONFIG_DIR, "config.json");
63
90
  function loadConfig() {
package/dist/index.d.ts CHANGED
@@ -1,7 +1,8 @@
1
- export { C as ClankerTokenV3 } from './clankerTokenV3-BqHTF9QY.js';
2
- import { a as Chain, C as ClankerTokenV4, b as ClankerDeployment } from './clankerTokenV4-NqiH_j7p.js';
3
- export { d as CLANKERS, g as Chains, h as ClankerDeployments, f as Clankers, R as RelatedV3_1, c as RelatedV4, T as Type, i as clankerConfigFor } from './clankerTokenV4-NqiH_j7p.js';
1
+ export { C as ClankerTokenV3 } from './clankerTokenV3-D-7Wi27l.js';
2
+ import { C as ClankerTokenV4, a as Chain, b as ClankerDeployment } from './clankerTokenV4-BCVJqN5H.js';
3
+ export { c as CLANKERS, d as Chains, f as ClankerDeployments, g as Clankers, R as RelatedV3_1, h as RelatedV4, T as Type, i as clankerConfigFor } from './clankerTokenV4-BCVJqN5H.js';
4
4
  export { D as DeployTokenOptions } from './deploy-BUDlDPzt.js';
5
+ import * as viem from 'viem';
5
6
  import { ContractConstructorArgs, Hex, PublicClient } from 'viem';
6
7
  import { C as ClankerToken_v3_1_abi, a as ClankerToken_v4_abi } from './ClankerToken-Dra5lppJ.js';
7
8
  export { A as AirdropEntry, c as createMerkleTree, e as encodeAirdropData, g as getMerkleProof } from './merkleTree-BNYdIOkH.js';
@@ -63,6 +64,52 @@ declare const findVanityAddressV4: (args: ContractConstructorArgs<typeof Clanker
63
64
  */
64
65
  declare const predictTokenAddressV4: (args: ContractConstructorArgs<typeof ClankerToken_v4_abi>, config: ClankerDeployment, salt: Hex, tokenAdmin: `0x${string}`) => `0x${string}`;
65
66
 
67
+ declare const robinhood: {
68
+ blockExplorers: {
69
+ readonly default: {
70
+ readonly name: "Robinhood Chain Blockscout Explorer";
71
+ readonly url: "https://robinhoodchain.blockscout.com";
72
+ };
73
+ };
74
+ blockTime: 100;
75
+ contracts: {};
76
+ ensTlds?: readonly string[] | undefined;
77
+ id: 4663;
78
+ name: "Robinhood Chain";
79
+ nativeCurrency: {
80
+ readonly name: "Ether";
81
+ readonly symbol: "ETH";
82
+ readonly decimals: 18;
83
+ };
84
+ experimental_preconfirmationTime?: number | undefined | undefined;
85
+ rpcUrls: {
86
+ readonly default: {
87
+ readonly http: readonly ["https://rpc.mainnet.chain.robinhood.com"];
88
+ };
89
+ };
90
+ sourceId?: number | undefined | undefined;
91
+ testnet: false;
92
+ custom?: Record<string, unknown> | undefined;
93
+ extendSchema?: Record<string, unknown> | undefined;
94
+ fees?: viem.ChainFees<undefined> | undefined;
95
+ formatters?: undefined;
96
+ prepareTransactionRequest?: ((args: viem.PrepareTransactionRequestParameters, options: {
97
+ client: viem.Client;
98
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
99
+ }) => Promise<viem.PrepareTransactionRequestParameters>) | [fn: ((args: viem.PrepareTransactionRequestParameters, options: {
100
+ client: viem.Client;
101
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
102
+ }) => Promise<viem.PrepareTransactionRequestParameters>) | undefined, options: {
103
+ runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
104
+ }] | undefined;
105
+ serializers?: viem.ChainSerializers<undefined, viem.TransactionSerializable> | undefined;
106
+ verifyHash?: ((client: viem.Client, parameters: viem.VerifyHashActionParameters) => Promise<viem.VerifyHashActionReturnType>) | undefined;
107
+ };
108
+ /** Robinhood Chain block gas limit (2^50). */
109
+ declare const ROBINHOOD_BLOCK_GAS_LIMIT = 1125899906842624n;
110
+ /** Canonical WETH on Robinhood Chain (non-standard; not the OP predeploy). */
111
+ declare const ROBINHOOD_WETH_ADDRESS: `0x${string}`;
112
+
66
113
  /**
67
114
  * Calculate starting tick and spacing for a token pooled against ETH.
68
115
  *
@@ -235,4 +282,4 @@ declare function verifyBuyerAllowance(publicClient: PublicClient, presaleId: big
235
282
  allowedAmountWei: bigint;
236
283
  }>;
237
284
 
238
- export { A0X_ADDRESS, ANON_ADDRESS, type AllowlistEntry, type AllowlistProof, BSC_USDT_ADDRESS, CB_BTC_ADDRESS, CLANKER_ADDRESS, Chain, ClankerDeployment, ClankerTokenV4, DEFAULT_SUPPLY, DEGEN_ADDRESS, FEE_CONFIGS, FeeConfigs, HIGHER_ADDRESS, NATIVE_ADDRESS, POOL_POSITIONS, PoolPositions, WBNB_ADDRESS, WETH_ADDRESSES, createAllowlistMerkleTree, encodeAllowlistInitializationData, encodeAllowlistProofData, findVanityAddress, findVanityAddressV4, getAllowedAmountForBuyer, getAllowlistAddress, getAllowlistInfo, getAllowlistMerkleProof, getTickFromMarketCap, getTickFromMarketCapStable, getTickFromMarketCapUSDC, predictTokenAddressV4, verifyBuyerAllowance };
285
+ export { A0X_ADDRESS, ANON_ADDRESS, type AllowlistEntry, type AllowlistProof, BSC_USDT_ADDRESS, CB_BTC_ADDRESS, CLANKER_ADDRESS, Chain, ClankerDeployment, ClankerTokenV4, DEFAULT_SUPPLY, DEGEN_ADDRESS, FEE_CONFIGS, FeeConfigs, HIGHER_ADDRESS, NATIVE_ADDRESS, POOL_POSITIONS, PoolPositions, ROBINHOOD_BLOCK_GAS_LIMIT, ROBINHOOD_WETH_ADDRESS, WBNB_ADDRESS, WETH_ADDRESSES, createAllowlistMerkleTree, encodeAllowlistInitializationData, encodeAllowlistProofData, findVanityAddress, findVanityAddressV4, getAllowedAmountForBuyer, getAllowlistAddress, getAllowlistInfo, getAllowlistMerkleProof, getTickFromMarketCap, getTickFromMarketCapStable, getTickFromMarketCapUSDC, predictTokenAddressV4, robinhood, verifyBuyerAllowance };
package/dist/index.js CHANGED
@@ -36,6 +36,34 @@ var monad = /* @__PURE__ */ defineChain({
36
36
  testnet: false
37
37
  });
38
38
 
39
+ // src/utils/chains/robinhood.ts
40
+ import { defineChain as defineChain2 } from "viem";
41
+ var robinhood = /* @__PURE__ */ defineChain2({
42
+ id: 4663,
43
+ name: "Robinhood Chain",
44
+ blockTime: 100,
45
+ nativeCurrency: {
46
+ name: "Ether",
47
+ symbol: "ETH",
48
+ decimals: 18
49
+ },
50
+ rpcUrls: {
51
+ default: {
52
+ http: ["https://rpc.mainnet.chain.robinhood.com"]
53
+ }
54
+ },
55
+ blockExplorers: {
56
+ default: {
57
+ name: "Robinhood Chain Blockscout Explorer",
58
+ url: "https://robinhoodchain.blockscout.com"
59
+ }
60
+ },
61
+ contracts: {},
62
+ testnet: false
63
+ });
64
+ var ROBINHOOD_BLOCK_GAS_LIMIT = 1125899906842624n;
65
+ var ROBINHOOD_WETH_ADDRESS = "0x0Bd7D308f8E1639FAb988df18A8011f41EAcAD73";
66
+
39
67
  // src/constants.ts
40
68
  var DEGEN_ADDRESS = "0x4ed4E862860beD51a9570b96d89aF5E1B0Efefed";
41
69
  var NATIVE_ADDRESS = "0x20DD04c17AFD5c9a8b3f2cdacaa8Ee7907385BEF";
@@ -56,7 +84,8 @@ var WETH_ADDRESSES = {
56
84
  [abstract.id]: "0x3439153EB7AF838Ad19d56E1571FBD09333C2809",
57
85
  [monadTestnet.id]: "0x760AfE86e5de5fa0Ee542fc7B7B713e1c5425701",
58
86
  // WMON
59
- [monad.id]: "0x3bd359c1119da7da1d913d1c4d2b7c461115433a"
87
+ [monad.id]: "0x3bd359c1119da7da1d913d1c4d2b7c461115433a",
88
+ [robinhood.id]: ROBINHOOD_WETH_ADDRESS
60
89
  };
61
90
  var DEFAULT_SUPPLY = 100000000000000000000000000000n;
62
91
  var PoolPositions = /* @__PURE__ */ ((PoolPositions2) => {
@@ -5753,6 +5782,30 @@ var CLANKERS = {
5753
5782
  feeDynamicHook: "0x0000000000000000000000000000000000000000",
5754
5783
  feeDynamicHookV2: "0x011a8ed40095F2D7E9c19125B8254b19678D68Cc"
5755
5784
  }
5785
+ },
5786
+ clanker_v4_robinhood: {
5787
+ abi: Clanker_v4_abi,
5788
+ token: {
5789
+ abi: ClankerToken_v4_abi,
5790
+ // Robinhood mainnet deploys the same ClankerToken creation bytecode as BSC v4.1.
5791
+ bytecode: ClankerToken_v4_bsc_bytecode
5792
+ },
5793
+ chainId: robinhood.id,
5794
+ type: "clanker_v4",
5795
+ address: "0xD3f2cC1731b7Fd17f28798835C2E02f0a1839A94",
5796
+ related: {
5797
+ locker: "0x290F735F63824BB5836cDe24a35F5103A5B5Bc99",
5798
+ vault: "0x99B2a80ed21c7af1F5cc1A97383DADeEC7DD1427",
5799
+ airdrop: "0x6f27372FF493A3855E6746b9a4fe6Ed2Cc3034B5",
5800
+ devbuy: "0xa27b1986e5c7e5371Cb6507f87918fBD0302fF5a",
5801
+ mevModule: "0xEA1Fe197dF140e5d88fC6B49f2d21Ea05092299e",
5802
+ mevDescendingFees: true,
5803
+ feeLocker: "0x88db2340bE5991B2b5Fca2Baee39B5CE048Cd70c",
5804
+ feeStaticHook: "0x0000000000000000000000000000000000000000",
5805
+ feeStaticHookV2: "0x48B8F6AD3A1b4aA477314c9a23035b8F84dDe8cc",
5806
+ feeDynamicHook: "0x0000000000000000000000000000000000000000",
5807
+ feeDynamicHookV2: "0x65efDF8Cce99b53C925DF878Df275Df21cB6E8Cc"
5808
+ }
5756
5809
  }
5757
5810
  };
5758
5811
  var Chains = [...new Set(Object.values(CLANKERS).map(({ chainId }) => chainId))];
@@ -6110,6 +6163,8 @@ export {
6110
6163
  NATIVE_ADDRESS,
6111
6164
  POOL_POSITIONS,
6112
6165
  PoolPositions,
6166
+ ROBINHOOD_BLOCK_GAS_LIMIT,
6167
+ ROBINHOOD_WETH_ADDRESS,
6113
6168
  WBNB_ADDRESS,
6114
6169
  WETH_ADDRESSES,
6115
6170
  clankerConfigFor,
@@ -6129,5 +6184,6 @@ export {
6129
6184
  getTickFromMarketCapStable,
6130
6185
  getTickFromMarketCapUSDC,
6131
6186
  predictTokenAddressV4,
6187
+ robinhood,
6132
6188
  verifyBuyerAllowance
6133
6189
  };