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.
- package/dist/{clankerTokenV3-BqHTF9QY.d.ts → clankerTokenV3-D-7Wi27l.d.ts} +0 -10
- package/dist/{clankerTokenV4-NqiH_j7p.d.ts → clankerTokenV4-BCVJqN5H.d.ts} +1824 -23
- package/dist/cli/cli.js +74 -23
- package/dist/cli/commands/airdrop.js +62 -7
- package/dist/cli/commands/deploy.d.ts +1 -1
- package/dist/cli/commands/deploy.js +69 -19
- package/dist/cli/commands/presale.js +61 -6
- package/dist/cli/commands/rewards.js +61 -6
- package/dist/cli/commands/setup.js +33 -5
- package/dist/cli/commands/token.js +61 -6
- package/dist/cli/commands/vault.js +61 -6
- package/dist/cli/create-clanker.js +59 -5
- package/dist/cli/utils/chains.js +28 -1
- package/dist/cli/utils/config.js +3 -3
- package/dist/cli/utils/wallet.js +31 -4
- package/dist/index.d.ts +51 -4
- package/dist/index.js +57 -1
- package/dist/legacyFeeClaims/index.js +52 -0
- package/dist/v3/index.d.ts +2 -2
- package/dist/v3/index.js +55 -1
- package/dist/v4/extensions/index.d.ts +4 -4
- package/dist/v4/extensions/index.js +56 -2
- package/dist/v4/index.d.ts +3 -3
- package/dist/v4/index.js +56 -2
- package/package.json +4 -1
- package/dist/{write-clanker-contracts-wZSL1UyM.d.ts → write-clanker-contracts-DMbbbYUa.d.ts} +1248 -1248
package/dist/cli/cli.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
3
|
// src/cli/cli.ts
|
|
4
|
-
import { readFileSync as readFileSync3 } from "
|
|
5
|
-
import { dirname, join as join2 } from "
|
|
6
|
-
import { fileURLToPath } from "
|
|
4
|
+
import { readFileSync as readFileSync3 } from "fs";
|
|
5
|
+
import { dirname, join as join2 } from "path";
|
|
6
|
+
import { fileURLToPath } from "url";
|
|
7
7
|
import { Command } from "commander";
|
|
8
8
|
|
|
9
9
|
// src/cli/commands/airdrop.ts
|
|
10
|
-
import * as fs from "
|
|
10
|
+
import * as fs from "fs";
|
|
11
11
|
|
|
12
12
|
// src/utils/merkleTree.ts
|
|
13
13
|
import { StandardMerkleTree } from "@openzeppelin/merkle-tree";
|
|
@@ -5548,6 +5548,33 @@ var monad = /* @__PURE__ */ defineChain({
|
|
|
5548
5548
|
testnet: false
|
|
5549
5549
|
});
|
|
5550
5550
|
|
|
5551
|
+
// src/utils/chains/robinhood.ts
|
|
5552
|
+
import { defineChain as defineChain2 } from "viem";
|
|
5553
|
+
var robinhood = /* @__PURE__ */ defineChain2({
|
|
5554
|
+
id: 4663,
|
|
5555
|
+
name: "Robinhood Chain",
|
|
5556
|
+
blockTime: 100,
|
|
5557
|
+
nativeCurrency: {
|
|
5558
|
+
name: "Ether",
|
|
5559
|
+
symbol: "ETH",
|
|
5560
|
+
decimals: 18
|
|
5561
|
+
},
|
|
5562
|
+
rpcUrls: {
|
|
5563
|
+
default: {
|
|
5564
|
+
http: ["https://rpc.mainnet.chain.robinhood.com"]
|
|
5565
|
+
}
|
|
5566
|
+
},
|
|
5567
|
+
blockExplorers: {
|
|
5568
|
+
default: {
|
|
5569
|
+
name: "Robinhood Chain Blockscout Explorer",
|
|
5570
|
+
url: "https://robinhoodchain.blockscout.com"
|
|
5571
|
+
}
|
|
5572
|
+
},
|
|
5573
|
+
contracts: {},
|
|
5574
|
+
testnet: false
|
|
5575
|
+
});
|
|
5576
|
+
var ROBINHOOD_WETH_ADDRESS = "0x0Bd7D308f8E1639FAb988df18A8011f41EAcAD73";
|
|
5577
|
+
|
|
5551
5578
|
// src/utils/clankers.ts
|
|
5552
5579
|
var CLANKERS = {
|
|
5553
5580
|
clanker_v0: {
|
|
@@ -5796,6 +5823,30 @@ var CLANKERS = {
|
|
|
5796
5823
|
feeDynamicHook: "0x0000000000000000000000000000000000000000",
|
|
5797
5824
|
feeDynamicHookV2: "0x011a8ed40095F2D7E9c19125B8254b19678D68Cc"
|
|
5798
5825
|
}
|
|
5826
|
+
},
|
|
5827
|
+
clanker_v4_robinhood: {
|
|
5828
|
+
abi: Clanker_v4_abi,
|
|
5829
|
+
token: {
|
|
5830
|
+
abi: ClankerToken_v4_abi,
|
|
5831
|
+
// Robinhood mainnet deploys the same ClankerToken creation bytecode as BSC v4.1.
|
|
5832
|
+
bytecode: ClankerToken_v4_bsc_bytecode
|
|
5833
|
+
},
|
|
5834
|
+
chainId: robinhood.id,
|
|
5835
|
+
type: "clanker_v4",
|
|
5836
|
+
address: "0xD3f2cC1731b7Fd17f28798835C2E02f0a1839A94",
|
|
5837
|
+
related: {
|
|
5838
|
+
locker: "0x290F735F63824BB5836cDe24a35F5103A5B5Bc99",
|
|
5839
|
+
vault: "0x99B2a80ed21c7af1F5cc1A97383DADeEC7DD1427",
|
|
5840
|
+
airdrop: "0x6f27372FF493A3855E6746b9a4fe6Ed2Cc3034B5",
|
|
5841
|
+
devbuy: "0xa27b1986e5c7e5371Cb6507f87918fBD0302fF5a",
|
|
5842
|
+
mevModule: "0xEA1Fe197dF140e5d88fC6B49f2d21Ea05092299e",
|
|
5843
|
+
mevDescendingFees: true,
|
|
5844
|
+
feeLocker: "0x88db2340bE5991B2b5Fca2Baee39B5CE048Cd70c",
|
|
5845
|
+
feeStaticHook: "0x0000000000000000000000000000000000000000",
|
|
5846
|
+
feeStaticHookV2: "0x48B8F6AD3A1b4aA477314c9a23035b8F84dDe8cc",
|
|
5847
|
+
feeDynamicHook: "0x0000000000000000000000000000000000000000",
|
|
5848
|
+
feeDynamicHookV2: "0x65efDF8Cce99b53C925DF878Df275Df21cB6E8Cc"
|
|
5849
|
+
}
|
|
5799
5850
|
}
|
|
5800
5851
|
};
|
|
5801
5852
|
var Chains = [...new Set(Object.values(CLANKERS).map(({ chainId }) => chainId))];
|
|
@@ -5822,6 +5873,8 @@ var ClankerError = class _ClankerError extends Error {
|
|
|
5822
5873
|
this.error = error;
|
|
5823
5874
|
this.data = data;
|
|
5824
5875
|
}
|
|
5876
|
+
error;
|
|
5877
|
+
data;
|
|
5825
5878
|
static unknown(e, name) {
|
|
5826
5879
|
return new _ClankerError(e, {
|
|
5827
5880
|
type: "unknown",
|
|
@@ -6987,7 +7040,8 @@ var WETH_ADDRESSES = {
|
|
|
6987
7040
|
[abstract2.id]: "0x3439153EB7AF838Ad19d56E1571FBD09333C2809",
|
|
6988
7041
|
[monadTestnet2.id]: "0x760AfE86e5de5fa0Ee542fc7B7B713e1c5425701",
|
|
6989
7042
|
// WMON
|
|
6990
|
-
[monad.id]: "0x3bd359c1119da7da1d913d1c4d2b7c461115433a"
|
|
7043
|
+
[monad.id]: "0x3bd359c1119da7da1d913d1c4d2b7c461115433a",
|
|
7044
|
+
[robinhood.id]: ROBINHOOD_WETH_ADDRESS
|
|
6991
7045
|
};
|
|
6992
7046
|
var DEFAULT_SUPPLY = 100000000000000000000000000000n;
|
|
6993
7047
|
var POOL_POSITIONS = {
|
|
@@ -7491,7 +7545,7 @@ var clankerTokenV4Converter = async (config) => {
|
|
|
7491
7545
|
},
|
|
7492
7546
|
mevModuleConfig: {
|
|
7493
7547
|
mevModule: clankerConfig.related?.mevModuleV2 || clankerConfig.related?.mevModule,
|
|
7494
|
-
mevModuleData: clankerConfig.related?.mevModuleV2 ? encodeAbiParameters3(Clanker_MevSniperAuction_InitData_v4_1_abi, [
|
|
7548
|
+
mevModuleData: clankerConfig.related?.mevModuleV2 || clankerConfig.related?.mevDescendingFees ? encodeAbiParameters3(Clanker_MevSniperAuction_InitData_v4_1_abi, [
|
|
7495
7549
|
{
|
|
7496
7550
|
startingFee: cfg.sniperFees.startingFee,
|
|
7497
7551
|
endingFee: cfg.sniperFees.endingFee,
|
|
@@ -8439,7 +8493,8 @@ var CHAIN_MAP = {
|
|
|
8439
8493
|
ethereum: mainnet3,
|
|
8440
8494
|
bsc: bsc3,
|
|
8441
8495
|
unichain: unichain3,
|
|
8442
|
-
monad
|
|
8496
|
+
monad,
|
|
8497
|
+
robinhood
|
|
8443
8498
|
};
|
|
8444
8499
|
var CHAIN_NAMES = Object.keys(CHAIN_MAP);
|
|
8445
8500
|
function resolveChain(name) {
|
|
@@ -8451,9 +8506,9 @@ function resolveChain(name) {
|
|
|
8451
8506
|
}
|
|
8452
8507
|
|
|
8453
8508
|
// src/cli/utils/config.ts
|
|
8454
|
-
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "
|
|
8455
|
-
import { homedir } from "
|
|
8456
|
-
import { join } from "
|
|
8509
|
+
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "fs";
|
|
8510
|
+
import { homedir } from "os";
|
|
8511
|
+
import { join } from "path";
|
|
8457
8512
|
var CONFIG_DIR = join(homedir(), ".clanker");
|
|
8458
8513
|
var CONFIG_PATH = join(CONFIG_DIR, "config.json");
|
|
8459
8514
|
function ensureDir() {
|
|
@@ -10191,21 +10246,16 @@ function buildV4Config(f) {
|
|
|
10191
10246
|
};
|
|
10192
10247
|
return token;
|
|
10193
10248
|
}
|
|
10194
|
-
var CHAIN_ID_MAP = {
|
|
10195
|
-
base: 8453,
|
|
10196
|
-
"base-sepolia": 84532,
|
|
10197
|
-
arbitrum: 42161,
|
|
10198
|
-
ethereum: 1,
|
|
10199
|
-
bsc: 56,
|
|
10200
|
-
unichain: 130,
|
|
10201
|
-
monad: 143
|
|
10202
|
-
};
|
|
10203
10249
|
function resolveChainId(name) {
|
|
10204
|
-
|
|
10250
|
+
try {
|
|
10251
|
+
return resolveChain(name).id;
|
|
10252
|
+
} catch {
|
|
10253
|
+
return 8453;
|
|
10254
|
+
}
|
|
10205
10255
|
}
|
|
10206
10256
|
function resolveChainName(chainId) {
|
|
10207
|
-
for (const
|
|
10208
|
-
if (id === chainId) return name;
|
|
10257
|
+
for (const name of CHAIN_NAMES) {
|
|
10258
|
+
if (resolveChain(name).id === chainId) return name;
|
|
10209
10259
|
}
|
|
10210
10260
|
return "base";
|
|
10211
10261
|
}
|
|
@@ -10596,7 +10646,8 @@ var PUBLIC_RPCS = {
|
|
|
10596
10646
|
arbitrum: "https://arb1.arbitrum.io/rpc",
|
|
10597
10647
|
ethereum: "https://eth.llamarpc.com",
|
|
10598
10648
|
bsc: "https://bsc-dataseed.binance.org",
|
|
10599
|
-
unichain: "https://mainnet.unichain.org"
|
|
10649
|
+
unichain: "https://mainnet.unichain.org",
|
|
10650
|
+
robinhood: "https://rpc.mainnet.chain.robinhood.com"
|
|
10600
10651
|
};
|
|
10601
10652
|
function registerSetupCommand(program2) {
|
|
10602
10653
|
program2.command("setup").description("Configure wallet and RPC settings").action(async (_opts, command) => {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// src/cli/commands/airdrop.ts
|
|
2
|
-
import * as fs from "
|
|
2
|
+
import * as fs from "fs";
|
|
3
3
|
|
|
4
4
|
// src/utils/merkleTree.ts
|
|
5
5
|
import { StandardMerkleTree } from "@openzeppelin/merkle-tree";
|
|
@@ -5540,6 +5540,33 @@ var monad = /* @__PURE__ */ defineChain({
|
|
|
5540
5540
|
testnet: false
|
|
5541
5541
|
});
|
|
5542
5542
|
|
|
5543
|
+
// src/utils/chains/robinhood.ts
|
|
5544
|
+
import { defineChain as defineChain2 } from "viem";
|
|
5545
|
+
var robinhood = /* @__PURE__ */ defineChain2({
|
|
5546
|
+
id: 4663,
|
|
5547
|
+
name: "Robinhood Chain",
|
|
5548
|
+
blockTime: 100,
|
|
5549
|
+
nativeCurrency: {
|
|
5550
|
+
name: "Ether",
|
|
5551
|
+
symbol: "ETH",
|
|
5552
|
+
decimals: 18
|
|
5553
|
+
},
|
|
5554
|
+
rpcUrls: {
|
|
5555
|
+
default: {
|
|
5556
|
+
http: ["https://rpc.mainnet.chain.robinhood.com"]
|
|
5557
|
+
}
|
|
5558
|
+
},
|
|
5559
|
+
blockExplorers: {
|
|
5560
|
+
default: {
|
|
5561
|
+
name: "Robinhood Chain Blockscout Explorer",
|
|
5562
|
+
url: "https://robinhoodchain.blockscout.com"
|
|
5563
|
+
}
|
|
5564
|
+
},
|
|
5565
|
+
contracts: {},
|
|
5566
|
+
testnet: false
|
|
5567
|
+
});
|
|
5568
|
+
var ROBINHOOD_WETH_ADDRESS = "0x0Bd7D308f8E1639FAb988df18A8011f41EAcAD73";
|
|
5569
|
+
|
|
5543
5570
|
// src/utils/clankers.ts
|
|
5544
5571
|
var CLANKERS = {
|
|
5545
5572
|
clanker_v0: {
|
|
@@ -5788,6 +5815,30 @@ var CLANKERS = {
|
|
|
5788
5815
|
feeDynamicHook: "0x0000000000000000000000000000000000000000",
|
|
5789
5816
|
feeDynamicHookV2: "0x011a8ed40095F2D7E9c19125B8254b19678D68Cc"
|
|
5790
5817
|
}
|
|
5818
|
+
},
|
|
5819
|
+
clanker_v4_robinhood: {
|
|
5820
|
+
abi: Clanker_v4_abi,
|
|
5821
|
+
token: {
|
|
5822
|
+
abi: ClankerToken_v4_abi,
|
|
5823
|
+
// Robinhood mainnet deploys the same ClankerToken creation bytecode as BSC v4.1.
|
|
5824
|
+
bytecode: ClankerToken_v4_bsc_bytecode
|
|
5825
|
+
},
|
|
5826
|
+
chainId: robinhood.id,
|
|
5827
|
+
type: "clanker_v4",
|
|
5828
|
+
address: "0xD3f2cC1731b7Fd17f28798835C2E02f0a1839A94",
|
|
5829
|
+
related: {
|
|
5830
|
+
locker: "0x290F735F63824BB5836cDe24a35F5103A5B5Bc99",
|
|
5831
|
+
vault: "0x99B2a80ed21c7af1F5cc1A97383DADeEC7DD1427",
|
|
5832
|
+
airdrop: "0x6f27372FF493A3855E6746b9a4fe6Ed2Cc3034B5",
|
|
5833
|
+
devbuy: "0xa27b1986e5c7e5371Cb6507f87918fBD0302fF5a",
|
|
5834
|
+
mevModule: "0xEA1Fe197dF140e5d88fC6B49f2d21Ea05092299e",
|
|
5835
|
+
mevDescendingFees: true,
|
|
5836
|
+
feeLocker: "0x88db2340bE5991B2b5Fca2Baee39B5CE048Cd70c",
|
|
5837
|
+
feeStaticHook: "0x0000000000000000000000000000000000000000",
|
|
5838
|
+
feeStaticHookV2: "0x48B8F6AD3A1b4aA477314c9a23035b8F84dDe8cc",
|
|
5839
|
+
feeDynamicHook: "0x0000000000000000000000000000000000000000",
|
|
5840
|
+
feeDynamicHookV2: "0x65efDF8Cce99b53C925DF878Df275Df21cB6E8Cc"
|
|
5841
|
+
}
|
|
5791
5842
|
}
|
|
5792
5843
|
};
|
|
5793
5844
|
var Chains = [...new Set(Object.values(CLANKERS).map(({ chainId }) => chainId))];
|
|
@@ -5814,6 +5865,8 @@ var ClankerError = class _ClankerError extends Error {
|
|
|
5814
5865
|
this.error = error;
|
|
5815
5866
|
this.data = data;
|
|
5816
5867
|
}
|
|
5868
|
+
error;
|
|
5869
|
+
data;
|
|
5817
5870
|
static unknown(e, name) {
|
|
5818
5871
|
return new _ClankerError(e, {
|
|
5819
5872
|
type: "unknown",
|
|
@@ -6971,7 +7024,8 @@ var WETH_ADDRESSES = {
|
|
|
6971
7024
|
[abstract2.id]: "0x3439153EB7AF838Ad19d56E1571FBD09333C2809",
|
|
6972
7025
|
[monadTestnet2.id]: "0x760AfE86e5de5fa0Ee542fc7B7B713e1c5425701",
|
|
6973
7026
|
// WMON
|
|
6974
|
-
[monad.id]: "0x3bd359c1119da7da1d913d1c4d2b7c461115433a"
|
|
7027
|
+
[monad.id]: "0x3bd359c1119da7da1d913d1c4d2b7c461115433a",
|
|
7028
|
+
[robinhood.id]: ROBINHOOD_WETH_ADDRESS
|
|
6975
7029
|
};
|
|
6976
7030
|
var DEFAULT_SUPPLY = 100000000000000000000000000000n;
|
|
6977
7031
|
var POOL_POSITIONS = {
|
|
@@ -7421,7 +7475,7 @@ var clankerTokenV4Converter = async (config) => {
|
|
|
7421
7475
|
},
|
|
7422
7476
|
mevModuleConfig: {
|
|
7423
7477
|
mevModule: clankerConfig.related?.mevModuleV2 || clankerConfig.related?.mevModule,
|
|
7424
|
-
mevModuleData: clankerConfig.related?.mevModuleV2 ? encodeAbiParameters3(Clanker_MevSniperAuction_InitData_v4_1_abi, [
|
|
7478
|
+
mevModuleData: clankerConfig.related?.mevModuleV2 || clankerConfig.related?.mevDescendingFees ? encodeAbiParameters3(Clanker_MevSniperAuction_InitData_v4_1_abi, [
|
|
7425
7479
|
{
|
|
7426
7480
|
startingFee: cfg.sniperFees.startingFee,
|
|
7427
7481
|
endingFee: cfg.sniperFees.endingFee,
|
|
@@ -8306,7 +8360,8 @@ var CHAIN_MAP = {
|
|
|
8306
8360
|
ethereum: mainnet3,
|
|
8307
8361
|
bsc: bsc3,
|
|
8308
8362
|
unichain: unichain3,
|
|
8309
|
-
monad
|
|
8363
|
+
monad,
|
|
8364
|
+
robinhood
|
|
8310
8365
|
};
|
|
8311
8366
|
var CHAIN_NAMES = Object.keys(CHAIN_MAP);
|
|
8312
8367
|
function resolveChain(name) {
|
|
@@ -8318,9 +8373,9 @@ function resolveChain(name) {
|
|
|
8318
8373
|
}
|
|
8319
8374
|
|
|
8320
8375
|
// src/cli/utils/config.ts
|
|
8321
|
-
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "
|
|
8322
|
-
import { homedir } from "
|
|
8323
|
-
import { join } from "
|
|
8376
|
+
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "fs";
|
|
8377
|
+
import { homedir } from "os";
|
|
8378
|
+
import { join } from "path";
|
|
8324
8379
|
var CONFIG_DIR = join(homedir(), ".clanker");
|
|
8325
8380
|
var CONFIG_PATH = join(CONFIG_DIR, "config.json");
|
|
8326
8381
|
function loadConfig() {
|
|
@@ -39,6 +39,33 @@ var monad = /* @__PURE__ */ defineChain({
|
|
|
39
39
|
testnet: false
|
|
40
40
|
});
|
|
41
41
|
|
|
42
|
+
// src/utils/chains/robinhood.ts
|
|
43
|
+
import { defineChain as defineChain2 } from "viem";
|
|
44
|
+
var robinhood = /* @__PURE__ */ defineChain2({
|
|
45
|
+
id: 4663,
|
|
46
|
+
name: "Robinhood Chain",
|
|
47
|
+
blockTime: 100,
|
|
48
|
+
nativeCurrency: {
|
|
49
|
+
name: "Ether",
|
|
50
|
+
symbol: "ETH",
|
|
51
|
+
decimals: 18
|
|
52
|
+
},
|
|
53
|
+
rpcUrls: {
|
|
54
|
+
default: {
|
|
55
|
+
http: ["https://rpc.mainnet.chain.robinhood.com"]
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
blockExplorers: {
|
|
59
|
+
default: {
|
|
60
|
+
name: "Robinhood Chain Blockscout Explorer",
|
|
61
|
+
url: "https://robinhoodchain.blockscout.com"
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
contracts: {},
|
|
65
|
+
testnet: false
|
|
66
|
+
});
|
|
67
|
+
var ROBINHOOD_WETH_ADDRESS = "0x0Bd7D308f8E1639FAb988df18A8011f41EAcAD73";
|
|
68
|
+
|
|
42
69
|
// src/constants.ts
|
|
43
70
|
var DEGEN_ADDRESS = "0x4ed4E862860beD51a9570b96d89aF5E1B0Efefed";
|
|
44
71
|
var NATIVE_ADDRESS = "0x20DD04c17AFD5c9a8b3f2cdacaa8Ee7907385BEF";
|
|
@@ -59,7 +86,8 @@ var WETH_ADDRESSES = {
|
|
|
59
86
|
[abstract.id]: "0x3439153EB7AF838Ad19d56E1571FBD09333C2809",
|
|
60
87
|
[monadTestnet.id]: "0x760AfE86e5de5fa0Ee542fc7B7B713e1c5425701",
|
|
61
88
|
// WMON
|
|
62
|
-
[monad.id]: "0x3bd359c1119da7da1d913d1c4d2b7c461115433a"
|
|
89
|
+
[monad.id]: "0x3bd359c1119da7da1d913d1c4d2b7c461115433a",
|
|
90
|
+
[robinhood.id]: ROBINHOOD_WETH_ADDRESS
|
|
63
91
|
};
|
|
64
92
|
var DEFAULT_SUPPLY = 100000000000000000000000000000n;
|
|
65
93
|
var POOL_POSITIONS = {
|
|
@@ -208,6 +236,8 @@ var ClankerError = class _ClankerError extends Error {
|
|
|
208
236
|
this.error = error;
|
|
209
237
|
this.data = data;
|
|
210
238
|
}
|
|
239
|
+
error;
|
|
240
|
+
data;
|
|
211
241
|
static unknown(e, name) {
|
|
212
242
|
return new _ClankerError(e, {
|
|
213
243
|
type: "unknown",
|
|
@@ -6411,6 +6441,30 @@ var CLANKERS = {
|
|
|
6411
6441
|
feeDynamicHook: "0x0000000000000000000000000000000000000000",
|
|
6412
6442
|
feeDynamicHookV2: "0x011a8ed40095F2D7E9c19125B8254b19678D68Cc"
|
|
6413
6443
|
}
|
|
6444
|
+
},
|
|
6445
|
+
clanker_v4_robinhood: {
|
|
6446
|
+
abi: Clanker_v4_abi,
|
|
6447
|
+
token: {
|
|
6448
|
+
abi: ClankerToken_v4_abi,
|
|
6449
|
+
// Robinhood mainnet deploys the same ClankerToken creation bytecode as BSC v4.1.
|
|
6450
|
+
bytecode: ClankerToken_v4_bsc_bytecode
|
|
6451
|
+
},
|
|
6452
|
+
chainId: robinhood.id,
|
|
6453
|
+
type: "clanker_v4",
|
|
6454
|
+
address: "0xD3f2cC1731b7Fd17f28798835C2E02f0a1839A94",
|
|
6455
|
+
related: {
|
|
6456
|
+
locker: "0x290F735F63824BB5836cDe24a35F5103A5B5Bc99",
|
|
6457
|
+
vault: "0x99B2a80ed21c7af1F5cc1A97383DADeEC7DD1427",
|
|
6458
|
+
airdrop: "0x6f27372FF493A3855E6746b9a4fe6Ed2Cc3034B5",
|
|
6459
|
+
devbuy: "0xa27b1986e5c7e5371Cb6507f87918fBD0302fF5a",
|
|
6460
|
+
mevModule: "0xEA1Fe197dF140e5d88fC6B49f2d21Ea05092299e",
|
|
6461
|
+
mevDescendingFees: true,
|
|
6462
|
+
feeLocker: "0x88db2340bE5991B2b5Fca2Baee39B5CE048Cd70c",
|
|
6463
|
+
feeStaticHook: "0x0000000000000000000000000000000000000000",
|
|
6464
|
+
feeStaticHookV2: "0x48B8F6AD3A1b4aA477314c9a23035b8F84dDe8cc",
|
|
6465
|
+
feeDynamicHook: "0x0000000000000000000000000000000000000000",
|
|
6466
|
+
feeDynamicHookV2: "0x65efDF8Cce99b53C925DF878Df275Df21cB6E8Cc"
|
|
6467
|
+
}
|
|
6414
6468
|
}
|
|
6415
6469
|
};
|
|
6416
6470
|
var Chains = [...new Set(Object.values(CLANKERS).map(({ chainId }) => chainId))];
|
|
@@ -8423,7 +8477,7 @@ var clankerTokenV4Converter = async (config) => {
|
|
|
8423
8477
|
},
|
|
8424
8478
|
mevModuleConfig: {
|
|
8425
8479
|
mevModule: clankerConfig.related?.mevModuleV2 || clankerConfig.related?.mevModule,
|
|
8426
|
-
mevModuleData: clankerConfig.related?.mevModuleV2 ? encodeAbiParameters2(Clanker_MevSniperAuction_InitData_v4_1_abi, [
|
|
8480
|
+
mevModuleData: clankerConfig.related?.mevModuleV2 || clankerConfig.related?.mevDescendingFees ? encodeAbiParameters2(Clanker_MevSniperAuction_InitData_v4_1_abi, [
|
|
8427
8481
|
{
|
|
8428
8482
|
startingFee: cfg.sniperFees.startingFee,
|
|
8429
8483
|
endingFee: cfg.sniperFees.endingFee,
|
|
@@ -9112,7 +9166,8 @@ var CHAIN_MAP = {
|
|
|
9112
9166
|
ethereum: mainnet3,
|
|
9113
9167
|
bsc: bsc3,
|
|
9114
9168
|
unichain: unichain3,
|
|
9115
|
-
monad
|
|
9169
|
+
monad,
|
|
9170
|
+
robinhood
|
|
9116
9171
|
};
|
|
9117
9172
|
var CHAIN_NAMES = Object.keys(CHAIN_MAP);
|
|
9118
9173
|
function resolveChain(name) {
|
|
@@ -9268,9 +9323,9 @@ import {
|
|
|
9268
9323
|
import { privateKeyToAccount } from "viem/accounts";
|
|
9269
9324
|
|
|
9270
9325
|
// src/cli/utils/config.ts
|
|
9271
|
-
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "
|
|
9272
|
-
import { homedir } from "
|
|
9273
|
-
import { join } from "
|
|
9326
|
+
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "fs";
|
|
9327
|
+
import { homedir } from "os";
|
|
9328
|
+
import { join } from "path";
|
|
9274
9329
|
var CONFIG_DIR = join(homedir(), ".clanker");
|
|
9275
9330
|
var CONFIG_PATH = join(CONFIG_DIR, "config.json");
|
|
9276
9331
|
function loadConfig() {
|
|
@@ -9309,7 +9364,7 @@ function resolveClients(opts) {
|
|
|
9309
9364
|
}
|
|
9310
9365
|
|
|
9311
9366
|
// src/cli/commands/airdrop.ts
|
|
9312
|
-
import * as fs from "
|
|
9367
|
+
import * as fs from "fs";
|
|
9313
9368
|
|
|
9314
9369
|
// src/utils/merkleTree.ts
|
|
9315
9370
|
import { StandardMerkleTree as StandardMerkleTree2 } from "@openzeppelin/merkle-tree";
|
|
@@ -9709,21 +9764,16 @@ function buildV4Config(f) {
|
|
|
9709
9764
|
};
|
|
9710
9765
|
return token;
|
|
9711
9766
|
}
|
|
9712
|
-
var CHAIN_ID_MAP = {
|
|
9713
|
-
base: 8453,
|
|
9714
|
-
"base-sepolia": 84532,
|
|
9715
|
-
arbitrum: 42161,
|
|
9716
|
-
ethereum: 1,
|
|
9717
|
-
bsc: 56,
|
|
9718
|
-
unichain: 130,
|
|
9719
|
-
monad: 143
|
|
9720
|
-
};
|
|
9721
9767
|
function resolveChainId(name) {
|
|
9722
|
-
|
|
9768
|
+
try {
|
|
9769
|
+
return resolveChain(name).id;
|
|
9770
|
+
} catch {
|
|
9771
|
+
return 8453;
|
|
9772
|
+
}
|
|
9723
9773
|
}
|
|
9724
9774
|
function resolveChainName(chainId) {
|
|
9725
|
-
for (const
|
|
9726
|
-
if (id === chainId) return name;
|
|
9775
|
+
for (const name of CHAIN_NAMES) {
|
|
9776
|
+
if (resolveChain(name).id === chainId) return name;
|
|
9727
9777
|
}
|
|
9728
9778
|
return "base";
|
|
9729
9779
|
}
|
|
@@ -9,6 +9,8 @@ var ClankerError = class _ClankerError extends Error {
|
|
|
9
9
|
this.error = error;
|
|
10
10
|
this.data = data;
|
|
11
11
|
}
|
|
12
|
+
error;
|
|
13
|
+
data;
|
|
12
14
|
static unknown(e, name) {
|
|
13
15
|
return new _ClankerError(e, {
|
|
14
16
|
type: "unknown",
|
|
@@ -2233,6 +2235,33 @@ var monad = /* @__PURE__ */ defineChain({
|
|
|
2233
2235
|
testnet: false
|
|
2234
2236
|
});
|
|
2235
2237
|
|
|
2238
|
+
// src/utils/chains/robinhood.ts
|
|
2239
|
+
import { defineChain as defineChain2 } from "viem";
|
|
2240
|
+
var robinhood = /* @__PURE__ */ defineChain2({
|
|
2241
|
+
id: 4663,
|
|
2242
|
+
name: "Robinhood Chain",
|
|
2243
|
+
blockTime: 100,
|
|
2244
|
+
nativeCurrency: {
|
|
2245
|
+
name: "Ether",
|
|
2246
|
+
symbol: "ETH",
|
|
2247
|
+
decimals: 18
|
|
2248
|
+
},
|
|
2249
|
+
rpcUrls: {
|
|
2250
|
+
default: {
|
|
2251
|
+
http: ["https://rpc.mainnet.chain.robinhood.com"]
|
|
2252
|
+
}
|
|
2253
|
+
},
|
|
2254
|
+
blockExplorers: {
|
|
2255
|
+
default: {
|
|
2256
|
+
name: "Robinhood Chain Blockscout Explorer",
|
|
2257
|
+
url: "https://robinhoodchain.blockscout.com"
|
|
2258
|
+
}
|
|
2259
|
+
},
|
|
2260
|
+
contracts: {},
|
|
2261
|
+
testnet: false
|
|
2262
|
+
});
|
|
2263
|
+
var ROBINHOOD_WETH_ADDRESS = "0x0Bd7D308f8E1639FAb988df18A8011f41EAcAD73";
|
|
2264
|
+
|
|
2236
2265
|
// src/constants.ts
|
|
2237
2266
|
var WBNB_ADDRESS = "0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c";
|
|
2238
2267
|
var WETH_ADDRESSES = {
|
|
@@ -2245,7 +2274,8 @@ var WETH_ADDRESSES = {
|
|
|
2245
2274
|
[abstract.id]: "0x3439153EB7AF838Ad19d56E1571FBD09333C2809",
|
|
2246
2275
|
[monadTestnet.id]: "0x760AfE86e5de5fa0Ee542fc7B7B713e1c5425701",
|
|
2247
2276
|
// WMON
|
|
2248
|
-
[monad.id]: "0x3bd359c1119da7da1d913d1c4d2b7c461115433a"
|
|
2277
|
+
[monad.id]: "0x3bd359c1119da7da1d913d1c4d2b7c461115433a",
|
|
2278
|
+
[robinhood.id]: ROBINHOOD_WETH_ADDRESS
|
|
2249
2279
|
};
|
|
2250
2280
|
var DEFAULT_SUPPLY = 100000000000000000000000000000n;
|
|
2251
2281
|
var POOL_POSITIONS = {
|
|
@@ -7451,6 +7481,30 @@ var CLANKERS = {
|
|
|
7451
7481
|
feeDynamicHook: "0x0000000000000000000000000000000000000000",
|
|
7452
7482
|
feeDynamicHookV2: "0x011a8ed40095F2D7E9c19125B8254b19678D68Cc"
|
|
7453
7483
|
}
|
|
7484
|
+
},
|
|
7485
|
+
clanker_v4_robinhood: {
|
|
7486
|
+
abi: Clanker_v4_abi,
|
|
7487
|
+
token: {
|
|
7488
|
+
abi: ClankerToken_v4_abi,
|
|
7489
|
+
// Robinhood mainnet deploys the same ClankerToken creation bytecode as BSC v4.1.
|
|
7490
|
+
bytecode: ClankerToken_v4_bsc_bytecode
|
|
7491
|
+
},
|
|
7492
|
+
chainId: robinhood.id,
|
|
7493
|
+
type: "clanker_v4",
|
|
7494
|
+
address: "0xD3f2cC1731b7Fd17f28798835C2E02f0a1839A94",
|
|
7495
|
+
related: {
|
|
7496
|
+
locker: "0x290F735F63824BB5836cDe24a35F5103A5B5Bc99",
|
|
7497
|
+
vault: "0x99B2a80ed21c7af1F5cc1A97383DADeEC7DD1427",
|
|
7498
|
+
airdrop: "0x6f27372FF493A3855E6746b9a4fe6Ed2Cc3034B5",
|
|
7499
|
+
devbuy: "0xa27b1986e5c7e5371Cb6507f87918fBD0302fF5a",
|
|
7500
|
+
mevModule: "0xEA1Fe197dF140e5d88fC6B49f2d21Ea05092299e",
|
|
7501
|
+
mevDescendingFees: true,
|
|
7502
|
+
feeLocker: "0x88db2340bE5991B2b5Fca2Baee39B5CE048Cd70c",
|
|
7503
|
+
feeStaticHook: "0x0000000000000000000000000000000000000000",
|
|
7504
|
+
feeStaticHookV2: "0x48B8F6AD3A1b4aA477314c9a23035b8F84dDe8cc",
|
|
7505
|
+
feeDynamicHook: "0x0000000000000000000000000000000000000000",
|
|
7506
|
+
feeDynamicHookV2: "0x65efDF8Cce99b53C925DF878Df275Df21cB6E8Cc"
|
|
7507
|
+
}
|
|
7454
7508
|
}
|
|
7455
7509
|
};
|
|
7456
7510
|
var Chains = [...new Set(Object.values(CLANKERS).map(({ chainId }) => chainId))];
|
|
@@ -7841,7 +7895,7 @@ var clankerTokenV4Converter = async (config) => {
|
|
|
7841
7895
|
},
|
|
7842
7896
|
mevModuleConfig: {
|
|
7843
7897
|
mevModule: clankerConfig.related?.mevModuleV2 || clankerConfig.related?.mevModule,
|
|
7844
|
-
mevModuleData: clankerConfig.related?.mevModuleV2 ? encodeAbiParameters2(Clanker_MevSniperAuction_InitData_v4_1_abi, [
|
|
7898
|
+
mevModuleData: clankerConfig.related?.mevModuleV2 || clankerConfig.related?.mevDescendingFees ? encodeAbiParameters2(Clanker_MevSniperAuction_InitData_v4_1_abi, [
|
|
7845
7899
|
{
|
|
7846
7900
|
startingFee: cfg.sniperFees.startingFee,
|
|
7847
7901
|
endingFee: cfg.sniperFees.endingFee,
|
|
@@ -9078,7 +9132,8 @@ var CHAIN_MAP = {
|
|
|
9078
9132
|
ethereum: mainnet3,
|
|
9079
9133
|
bsc: bsc3,
|
|
9080
9134
|
unichain: unichain3,
|
|
9081
|
-
monad
|
|
9135
|
+
monad,
|
|
9136
|
+
robinhood
|
|
9082
9137
|
};
|
|
9083
9138
|
var CHAIN_NAMES = Object.keys(CHAIN_MAP);
|
|
9084
9139
|
function resolveChain(name) {
|
|
@@ -9090,9 +9145,9 @@ function resolveChain(name) {
|
|
|
9090
9145
|
}
|
|
9091
9146
|
|
|
9092
9147
|
// src/cli/utils/config.ts
|
|
9093
|
-
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "
|
|
9094
|
-
import { homedir } from "
|
|
9095
|
-
import { join } from "
|
|
9148
|
+
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "fs";
|
|
9149
|
+
import { homedir } from "os";
|
|
9150
|
+
import { join } from "path";
|
|
9096
9151
|
var CONFIG_DIR = join(homedir(), ".clanker");
|
|
9097
9152
|
var CONFIG_PATH = join(CONFIG_DIR, "config.json");
|
|
9098
9153
|
function loadConfig() {
|
|
@@ -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",
|
|
@@ -8022,7 +8076,8 @@ var CHAIN_MAP = {
|
|
|
8022
8076
|
ethereum: mainnet3,
|
|
8023
8077
|
bsc: bsc3,
|
|
8024
8078
|
unichain: unichain3,
|
|
8025
|
-
monad
|
|
8079
|
+
monad,
|
|
8080
|
+
robinhood
|
|
8026
8081
|
};
|
|
8027
8082
|
var CHAIN_NAMES = Object.keys(CHAIN_MAP);
|
|
8028
8083
|
function resolveChain(name) {
|
|
@@ -8034,9 +8089,9 @@ function resolveChain(name) {
|
|
|
8034
8089
|
}
|
|
8035
8090
|
|
|
8036
8091
|
// src/cli/utils/config.ts
|
|
8037
|
-
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "
|
|
8038
|
-
import { homedir } from "
|
|
8039
|
-
import { join } from "
|
|
8092
|
+
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "fs";
|
|
8093
|
+
import { homedir } from "os";
|
|
8094
|
+
import { join } from "path";
|
|
8040
8095
|
var CONFIG_DIR = join(homedir(), ".clanker");
|
|
8041
8096
|
var CONFIG_PATH = join(CONFIG_DIR, "config.json");
|
|
8042
8097
|
function loadConfig() {
|