@paulstinchcombe/gasless-nft-tx 0.4.7 → 0.4.9
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.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -2
- package/dist/index.js.map +1 -1
- package/dist/kami-deployment-simpleaccount.d.ts +21 -4
- package/dist/kami-deployment-simpleaccount.d.ts.map +1 -1
- package/dist/kami-deployment-simpleaccount.js +26 -4
- package/dist/kami-deployment-simpleaccount.js.map +1 -1
- package/dist/kami-gasless-deployer.d.ts +77 -0
- package/dist/kami-gasless-deployer.d.ts.map +1 -0
- package/dist/kami-gasless-deployer.js +313 -0
- package/dist/kami-gasless-deployer.js.map +1 -0
- package/dist/kami-gasless-with-libraries.d.ts +126 -0
- package/dist/kami-gasless-with-libraries.d.ts.map +1 -0
- package/dist/kami-gasless-with-libraries.js +403 -0
- package/dist/kami-gasless-with-libraries.js.map +1 -0
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -23,6 +23,10 @@ export { KamiCustodialSetup, generateCustodialOnboardingScript } from './kami-cu
|
|
|
23
23
|
export type { CustodialSetupConfig, CustodialSetupResult } from './kami-custodial-setup';
|
|
24
24
|
export { KamiSimpleAccountDeployer } from './kami-deployment-simpleaccount';
|
|
25
25
|
export type { KamiSimpleAccountDeployConfig, DeploymentOperationResult } from './kami-deployment-simpleaccount';
|
|
26
|
+
export { KamiGaslessDeployer } from './kami-gasless-deployer';
|
|
27
|
+
export { KamiGaslessDeployerWithLibraries } from './kami-gasless-with-libraries';
|
|
28
|
+
export type { GaslessDeployerConfig, DeploymentResult } from './kami-gasless-deployer';
|
|
29
|
+
export type { LibraryAddresses, KAMI721CParams, KAMI721ACParams, KAMI1155CParams, GaslessDeployConfig, } from './kami-gasless-with-libraries';
|
|
26
30
|
export { saveLibraryAddresses, loadLibraryAddresses, loadLibraryAddressesFromEnv, verifyLibraryAddresses, generateEnvFile, getLibraryStats, } from './kami-library-manager';
|
|
27
31
|
export { deployKAMI721C, deployKAMI721AC, deployKAMI1155C, deployKamiContract } from './kami-deployment';
|
|
28
32
|
export { deployKamiLibraries, getLibraryLinks, verifyLibraryDeployment } from './kami-library-deployment';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAGnF,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAGlG,OAAO,EACN,cAAc,EACd,wBAAwB,EACxB,kBAAkB,EAClB,oBAAoB,EACpB,8BAA8B,EAC9B,wBAAwB,GACxB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,aAAa,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGzH,OAAO,EAAE,uBAAuB,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAC;AACpG,YAAY,EACX,mBAAmB,EACnB,YAAY,EACZ,UAAU,IAAI,uBAAuB,EACrC,SAAS,EACT,uBAAuB,GACvB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,MAAM,eAAe,CAAC;AACjF,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAG/F,OAAO,EACN,0BAA0B,EAC1B,mBAAmB,EACnB,kCAAkC,EAClC,uBAAuB,GACvB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACN,uBAAuB,EACvB,+BAA+B,EAC/B,kBAAkB,EAClB,0BAA0B,EAC1B,uBAAuB,GACvB,MAAM,qCAAqC,CAAC;AAG7C,OAAO,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAC;AAC3E,YAAY,EACX,2BAA2B,EAC3B,eAAe,IAAI,uBAAuB,EAC1C,mBAAmB,IAAI,2BAA2B,GAClD,MAAM,2BAA2B,CAAC;AACnC,YAAY,EACX,4BAA4B,EAC5B,eAAe,IAAI,wBAAwB,EAC3C,mBAAmB,IAAI,4BAA4B,EACnD,wBAAwB,IAAI,iCAAiC,GAC7D,MAAM,4BAA4B,CAAC;AACpC,YAAY,EACX,4BAA4B,EAC5B,eAAe,IAAI,wBAAwB,EAC3C,mBAAmB,IAAI,4BAA4B,EACnD,wBAAwB,IAAI,iCAAiC,GAC7D,MAAM,4BAA4B,CAAC;AAEpC,YAAY,EAAE,eAAe,IAAI,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACxF,YAAY,EAAE,mBAAmB,IAAI,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAChG,YAAY,EAAE,wBAAwB,IAAI,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AAG3G,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,YAAY,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAG1G,OAAO,EAAE,kBAAkB,EAAE,iCAAiC,EAAE,MAAM,wBAAwB,CAAC;AAC/F,YAAY,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.KamiContractType = exports.verifyLibraryDeployment = exports.getLibraryLinks = exports.deployKamiLibraries = exports.deployKamiContract = exports.deployKAMI1155C = exports.deployKAMI721AC = exports.deployKAMI721C = exports.getLibraryStats = exports.generateEnvFile = exports.verifyLibraryAddresses = exports.loadLibraryAddressesFromEnv = exports.loadLibraryAddresses = exports.saveLibraryAddresses = exports.KamiSimpleAccountDeployer = exports.generateCustodialOnboardingScript = exports.KamiCustodialSetup = exports.KamiPaymentHandler = exports.KAMI1155CSimpleAccountHandler = exports.KAMI721ACSimpleAccountHandler = exports.KAMI721CSimpleAccountHandler = exports.getSimpleAccountAddress = exports.SIMPLE_ACCOUNT_FACTORY_ABI = exports.SIMPLE_ACCOUNT_ABI = exports.SIMPLE_ACCOUNT_FACTORY_BYTECODE = exports.SIMPLE_ACCOUNT_BYTECODE = exports.isSimpleAccountDeployed = exports.getSimpleAccountAddressFromFactory = exports.createSimpleAccount = exports.deploySimpleAccountFactory = exports.createNftListingOperations = exports.NftListingOperations = exports.createSimpleAccountOperations = exports.SimpleAccountOperations = exports.createBackendMintHandler = exports.createSimpleAccountMintHandler = exports.createEoaMintHandler = exports.BackendMintHandler = exports.SimpleAccountMintHandler = exports.EoaMintHandler = exports.mintToSelf = exports.safeMint = exports.mintERC721A = exports.executeCustomNftCall = exports.deployContractFromEOA = exports.encodeNftConstructorArgs = void 0;
|
|
3
|
+
exports.KamiContractType = exports.verifyLibraryDeployment = exports.getLibraryLinks = exports.deployKamiLibraries = exports.deployKamiContract = exports.deployKAMI1155C = exports.deployKAMI721AC = exports.deployKAMI721C = exports.getLibraryStats = exports.generateEnvFile = exports.verifyLibraryAddresses = exports.loadLibraryAddressesFromEnv = exports.loadLibraryAddresses = exports.saveLibraryAddresses = exports.KamiGaslessDeployerWithLibraries = exports.KamiGaslessDeployer = exports.KamiSimpleAccountDeployer = exports.generateCustodialOnboardingScript = exports.KamiCustodialSetup = exports.KamiPaymentHandler = exports.KAMI1155CSimpleAccountHandler = exports.KAMI721ACSimpleAccountHandler = exports.KAMI721CSimpleAccountHandler = exports.getSimpleAccountAddress = exports.SIMPLE_ACCOUNT_FACTORY_ABI = exports.SIMPLE_ACCOUNT_ABI = exports.SIMPLE_ACCOUNT_FACTORY_BYTECODE = exports.SIMPLE_ACCOUNT_BYTECODE = exports.isSimpleAccountDeployed = exports.getSimpleAccountAddressFromFactory = exports.createSimpleAccount = exports.deploySimpleAccountFactory = exports.createNftListingOperations = exports.NftListingOperations = exports.createSimpleAccountOperations = exports.SimpleAccountOperations = exports.createBackendMintHandler = exports.createSimpleAccountMintHandler = exports.createEoaMintHandler = exports.BackendMintHandler = exports.SimpleAccountMintHandler = exports.EoaMintHandler = exports.mintToSelf = exports.safeMint = exports.mintERC721A = exports.executeCustomNftCall = exports.deployContractFromEOA = exports.encodeNftConstructorArgs = void 0;
|
|
4
4
|
exports.toBigIntTokenAmount = toBigIntTokenAmount;
|
|
5
5
|
// Main exports for the gasless NFT transaction library
|
|
6
6
|
var nft_operations_1 = require("./nft-operations");
|
|
@@ -54,9 +54,17 @@ Object.defineProperty(exports, "KamiPaymentHandler", { enumerable: true, get: fu
|
|
|
54
54
|
var kami_custodial_setup_1 = require("./kami-custodial-setup");
|
|
55
55
|
Object.defineProperty(exports, "KamiCustodialSetup", { enumerable: true, get: function () { return kami_custodial_setup_1.KamiCustodialSetup; } });
|
|
56
56
|
Object.defineProperty(exports, "generateCustodialOnboardingScript", { enumerable: true, get: function () { return kami_custodial_setup_1.generateCustodialOnboardingScript; } });
|
|
57
|
-
//
|
|
57
|
+
// ⚠️ DEPRECATED: KamiSimpleAccountDeployer DOES NOT WORK - use KamiGaslessDeployerWithLibraries instead
|
|
58
|
+
// This class uses SimpleAccount.execute(0x0) which doesn't deploy contracts
|
|
59
|
+
// @deprecated
|
|
58
60
|
var kami_deployment_simpleaccount_1 = require("./kami-deployment-simpleaccount");
|
|
59
61
|
Object.defineProperty(exports, "KamiSimpleAccountDeployer", { enumerable: true, get: function () { return kami_deployment_simpleaccount_1.KamiSimpleAccountDeployer; } });
|
|
62
|
+
// ✅ WORKING SOLUTION: KAMI NFT truly gasless deployment with ContractDeployer helper
|
|
63
|
+
// Use these classes for all new deployments!
|
|
64
|
+
var kami_gasless_deployer_1 = require("./kami-gasless-deployer");
|
|
65
|
+
Object.defineProperty(exports, "KamiGaslessDeployer", { enumerable: true, get: function () { return kami_gasless_deployer_1.KamiGaslessDeployer; } });
|
|
66
|
+
var kami_gasless_with_libraries_1 = require("./kami-gasless-with-libraries");
|
|
67
|
+
Object.defineProperty(exports, "KamiGaslessDeployerWithLibraries", { enumerable: true, get: function () { return kami_gasless_with_libraries_1.KamiGaslessDeployerWithLibraries; } });
|
|
60
68
|
// KAMI Library management utilities
|
|
61
69
|
var kami_library_manager_1 = require("./kami-library-manager");
|
|
62
70
|
Object.defineProperty(exports, "saveLibraryAddresses", { enumerable: true, get: function () { return kami_library_manager_1.saveLibraryAddresses; } });
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAsIA,kDAYC;AAlJD,uDAAuD;AACvD,mDAAmF;AAA1E,0HAAA,wBAAwB,OAAA;AAAE,uHAAA,qBAAqB,OAAA;AAExD,4DAA4D;AAC5D,iEAAkG;AAAzF,6HAAA,oBAAoB,OAAA;AAAE,oHAAA,WAAW,OAAA;AAAE,iHAAA,QAAQ,OAAA;AAAE,mHAAA,UAAU,OAAA;AAEhE,4DAA4D;AAC5D,+CAOwB;AANvB,8GAAA,cAAc,OAAA;AACd,wHAAA,wBAAwB,OAAA;AACxB,kHAAA,kBAAkB,OAAA;AAClB,oHAAA,oBAAoB,OAAA;AACpB,8HAAA,8BAA8B,OAAA;AAC9B,wHAAA,wBAAwB,OAAA;AAIzB,oEAAoE;AACpE,uEAAoG;AAA3F,mIAAA,uBAAuB,OAAA;AAAE,yIAAA,6BAA6B,OAAA;AAS/D,yBAAyB;AACzB,6CAAiF;AAAxE,mHAAA,oBAAoB,OAAA;AAAE,yHAAA,0BAA0B,OAAA;AAGzD,qCAAqC;AACrC,iEAKiC;AAJhC,mIAAA,0BAA0B,OAAA;AAC1B,4HAAA,mBAAmB,OAAA;AACnB,2IAAA,kCAAkC,OAAA;AAClC,gIAAA,uBAAuB,OAAA;AAGxB,qEAM6C;AAL5C,wHAAA,uBAAuB,OAAA;AACvB,gIAAA,+BAA+B,OAAA;AAC/B,mHAAA,kBAAkB,OAAA;AAClB,2HAAA,0BAA0B,OAAA;AAC1B,wHAAA,uBAAuB,OAAA;AAGxB,2EAA2E;AAC3E,qEAAyE;AAAhE,uIAAA,4BAA4B,OAAA;AACrC,uEAA2E;AAAlE,yIAAA,6BAA6B,OAAA;AACtC,uEAA2E;AAAlE,yIAAA,6BAA6B,OAAA;AAuBtC,0EAA0E;AAC1E,+DAA4D;AAAnD,0HAAA,kBAAkB,OAAA;AAG3B,+EAA+E;AAC/E,+DAA+F;AAAtF,0HAAA,kBAAkB,OAAA;AAAE,yIAAA,iCAAiC,OAAA;AAG9D,yGAAyG;AACzG,4EAA4E;AAC5E,cAAc;AACd,iFAA4E;AAAnE,0IAAA,yBAAyB,OAAA;AAGlC,qFAAqF;AACrF,6CAA6C;AAC7C,iEAA8D;AAArD,4HAAA,mBAAmB,OAAA;AAC5B,6EAAiF;AAAxE,+IAAA,gCAAgC,OAAA;AAUzC,oCAAoC;AACpC,+DAOgC;AAN/B,4HAAA,oBAAoB,OAAA;AACpB,4HAAA,oBAAoB,OAAA;AACpB,mIAAA,2BAA2B,OAAA;AAC3B,8HAAA,sBAAsB,OAAA;AACtB,uHAAA,eAAe,OAAA;AACf,uHAAA,eAAe,OAAA;AAGhB,mEAAmE;AACnE,4GAA4G;AAC5G,qDAAyG;AAAhG,iHAAA,cAAc,OAAA;AAAE,kHAAA,eAAe,OAAA;AAAE,kHAAA,eAAe,OAAA;AAAE,qHAAA,kBAAkB,OAAA;AAC7E,qEAA0G;AAAjG,8HAAA,mBAAmB,OAAA;AAAE,0HAAA,eAAe,OAAA;AAAE,kIAAA,uBAAuB,OAAA;AAatE,2CAAgD;AAAvC,8GAAA,gBAAgB,OAAA;AAQzB,SAAgB,mBAAmB,CAAC,SAAiB,EAAE,QAAgB;IACtE,wDAAwD;IACxD,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnC,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAC7B,MAAM,cAAc,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAEtC,oDAAoD;IACpD,MAAM,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAE5D,mCAAmC;IACnC,wCAAwC;IACxC,OAAO,MAAM,CAAC,WAAW,GAAG,cAAc,CAAC,CAAC;AAC7C,CAAC"}
|
|
@@ -2,12 +2,26 @@
|
|
|
2
2
|
* @file KAMI NFT Gasless Deployment via SimpleAccount
|
|
3
3
|
* @description Deploy KAMI contracts gaslessly using SimpleAccount
|
|
4
4
|
*
|
|
5
|
+
* ⚠️ DEPRECATED - DO NOT USE THIS FILE!
|
|
6
|
+
*
|
|
7
|
+
* This file uses `SimpleAccount.execute(address(0), 0, bytecode)` which DOES NOT WORK.
|
|
8
|
+
* The deployment will appear to succeed but no contract will be deployed!
|
|
9
|
+
*
|
|
10
|
+
* ✅ USE INSTEAD:
|
|
11
|
+
* - KamiGaslessDeployerWithLibraries (from './kami-gasless-with-libraries')
|
|
12
|
+
* - See UPDATED_SOLUTION.md for complete working solution
|
|
13
|
+
* - See examples/true-gasless-deployment.ts for working example
|
|
14
|
+
*
|
|
15
|
+
* WHY THIS DOESN'T WORK:
|
|
16
|
+
* SimpleAccount.execute(address(0), ...) doesn't use the CREATE opcode, it just
|
|
17
|
+
* calls the zero address which does nothing. You need to use ContractDeployer helper.
|
|
18
|
+
*
|
|
5
19
|
* IMPORTANT NOTES:
|
|
6
|
-
* 1. Contract deployment via SimpleAccount.execute()
|
|
20
|
+
* 1. Contract deployment via SimpleAccount.execute(0x0) DOES NOT WORK ❌
|
|
7
21
|
* 2. Library linking with viem requires manual bytecode manipulation
|
|
8
|
-
* 3. For production use,
|
|
9
|
-
* 4. The deployed contract address computation
|
|
10
|
-
* 5. For
|
|
22
|
+
* 3. For production use, use KamiGaslessDeployerWithLibraries instead
|
|
23
|
+
* 4. The deployed contract address computation fails because nothing is deployed
|
|
24
|
+
* 5. For working deployments, see kami-gasless-with-libraries.ts
|
|
11
25
|
*/
|
|
12
26
|
import { Address } from 'viem';
|
|
13
27
|
import { KAMI721CDeployParams, KAMI721ACDeployParams, KAMI1155CDeployParams, ContractDeploymentResult, LibraryDeploymentResult } from './kami-types';
|
|
@@ -32,6 +46,9 @@ export interface DeploymentOperationResult {
|
|
|
32
46
|
/**
|
|
33
47
|
* KAMI Deployment Handler using SimpleAccount
|
|
34
48
|
* All deployments are gasless - SimpleAccount pays for gas
|
|
49
|
+
*
|
|
50
|
+
* @deprecated ⚠️ THIS CLASS DOES NOT WORK! Use KamiGaslessDeployerWithLibraries instead.
|
|
51
|
+
* See UPDATED_SOLUTION.md for the working solution.
|
|
35
52
|
*/
|
|
36
53
|
export declare class KamiSimpleAccountDeployer {
|
|
37
54
|
private publicClient;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kami-deployment-simpleaccount.d.ts","sourceRoot":"","sources":["../src/kami-deployment-simpleaccount.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"kami-deployment-simpleaccount.d.ts","sourceRoot":"","sources":["../src/kami-deployment-simpleaccount.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,EAMN,OAAO,EAMP,MAAM,MAAM,CAAC;AAKd,OAAO,EACN,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,wBAAwB,EAExB,uBAAuB,EACvB,MAAM,cAAc,CAAC;AAEtB;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,KAAK,MAAM,EAAE,CAAC;IAC/B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,KAAK,CAAC,EAAE,GAAG,CAAC;CACZ;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACzC,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAmBD;;;;;;GAMG;AACH,qBAAa,yBAAyB;IACrC,OAAO,CAAC,YAAY,CAAM;IAC1B,OAAO,CAAC,YAAY,CAAM;IAC1B,OAAO,CAAC,MAAM,CAAgC;IAC9C,OAAO,CAAC,OAAO,CAAoB;gBAEvB,MAAM,EAAE,6BAA6B;IAsBjD;;;;;OAKG;YACW,sBAAsB;IA0EpC;;;OAGG;YACW,sBAAsB;IA0DpC;;OAEG;IACG,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAQ5E;;;;;;;OAOG;IACG,kBAAkB,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,uBAAuB,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAwE9G;;OAEG;IACG,cAAc,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,wBAAwB,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAgEpI;;OAEG;IACG,eAAe,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,wBAAwB,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAuDtI;;OAEG;IACG,eAAe,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,wBAAwB,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAqDtI;;OAEG;IACG,uBAAuB,IAAI,OAAO,CAAC,MAAM,CAAC;IAOhD;;OAEG;IACG,YAAY,CAAC,QAAQ,GAAE,MAA2B,GAAG,OAAO,CAAC;QAAE,UAAU,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAW7H"}
|
|
@@ -3,12 +3,26 @@
|
|
|
3
3
|
* @file KAMI NFT Gasless Deployment via SimpleAccount
|
|
4
4
|
* @description Deploy KAMI contracts gaslessly using SimpleAccount
|
|
5
5
|
*
|
|
6
|
+
* ⚠️ DEPRECATED - DO NOT USE THIS FILE!
|
|
7
|
+
*
|
|
8
|
+
* This file uses `SimpleAccount.execute(address(0), 0, bytecode)` which DOES NOT WORK.
|
|
9
|
+
* The deployment will appear to succeed but no contract will be deployed!
|
|
10
|
+
*
|
|
11
|
+
* ✅ USE INSTEAD:
|
|
12
|
+
* - KamiGaslessDeployerWithLibraries (from './kami-gasless-with-libraries')
|
|
13
|
+
* - See UPDATED_SOLUTION.md for complete working solution
|
|
14
|
+
* - See examples/true-gasless-deployment.ts for working example
|
|
15
|
+
*
|
|
16
|
+
* WHY THIS DOESN'T WORK:
|
|
17
|
+
* SimpleAccount.execute(address(0), ...) doesn't use the CREATE opcode, it just
|
|
18
|
+
* calls the zero address which does nothing. You need to use ContractDeployer helper.
|
|
19
|
+
*
|
|
6
20
|
* IMPORTANT NOTES:
|
|
7
|
-
* 1. Contract deployment via SimpleAccount.execute()
|
|
21
|
+
* 1. Contract deployment via SimpleAccount.execute(0x0) DOES NOT WORK ❌
|
|
8
22
|
* 2. Library linking with viem requires manual bytecode manipulation
|
|
9
|
-
* 3. For production use,
|
|
10
|
-
* 4. The deployed contract address computation
|
|
11
|
-
* 5. For
|
|
23
|
+
* 3. For production use, use KamiGaslessDeployerWithLibraries instead
|
|
24
|
+
* 4. The deployed contract address computation fails because nothing is deployed
|
|
25
|
+
* 5. For working deployments, see kami-gasless-with-libraries.ts
|
|
12
26
|
*/
|
|
13
27
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
28
|
if (k2 === undefined) k2 = k;
|
|
@@ -68,6 +82,9 @@ function loadContractArtifact(contractPath, contractName) {
|
|
|
68
82
|
/**
|
|
69
83
|
* KAMI Deployment Handler using SimpleAccount
|
|
70
84
|
* All deployments are gasless - SimpleAccount pays for gas
|
|
85
|
+
*
|
|
86
|
+
* @deprecated ⚠️ THIS CLASS DOES NOT WORK! Use KamiGaslessDeployerWithLibraries instead.
|
|
87
|
+
* See UPDATED_SOLUTION.md for the working solution.
|
|
71
88
|
*/
|
|
72
89
|
class KamiSimpleAccountDeployer {
|
|
73
90
|
publicClient;
|
|
@@ -75,6 +92,11 @@ class KamiSimpleAccountDeployer {
|
|
|
75
92
|
config;
|
|
76
93
|
account;
|
|
77
94
|
constructor(config) {
|
|
95
|
+
console.warn('⚠️ WARNING: KamiSimpleAccountDeployer is DEPRECATED and DOES NOT WORK!');
|
|
96
|
+
console.warn(' This class uses SimpleAccount.execute(0x0) which does not deploy contracts.');
|
|
97
|
+
console.warn(' ✅ Use KamiGaslessDeployerWithLibraries instead.');
|
|
98
|
+
console.warn(' See UPDATED_SOLUTION.md for the working solution.');
|
|
99
|
+
console.warn('');
|
|
78
100
|
this.config = config;
|
|
79
101
|
this.account = (0, accounts_1.privateKeyToAccount)(config.ownerPrivateKey);
|
|
80
102
|
this.publicClient = (0, viem_1.createPublicClient)({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kami-deployment-simpleaccount.js","sourceRoot":"","sources":["../src/kami-deployment-simpleaccount.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"kami-deployment-simpleaccount.js","sourceRoot":"","sources":["../src/kami-deployment-simpleaccount.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file True Gasless Deployment for KAMI Contracts
|
|
3
|
+
* @description Deploy KAMI contracts completely gaslessly using a ContractDeployer helper
|
|
4
|
+
*
|
|
5
|
+
* HOW IT WORKS:
|
|
6
|
+
* 1. First deploy ContractDeployer contract (one-time, can be reused)
|
|
7
|
+
* 2. SimpleAccount calls ContractDeployer.deploy(bytecode) via execute()
|
|
8
|
+
* 3. ContractDeployer uses CREATE opcode to deploy the actual contract
|
|
9
|
+
* 4. The deployed contract's owner is SimpleAccount
|
|
10
|
+
*
|
|
11
|
+
* BENEFITS:
|
|
12
|
+
* - Truly gasless: All gas paid by SimpleAccount
|
|
13
|
+
* - Works with library linking
|
|
14
|
+
* - Can be reused for multiple deployments
|
|
15
|
+
*/
|
|
16
|
+
import { Address, Hex } from 'viem';
|
|
17
|
+
export interface GaslessDeployerConfig {
|
|
18
|
+
rpcUrl: string;
|
|
19
|
+
ownerPrivateKey: `0x${string}`;
|
|
20
|
+
simpleAccountAddress: Address;
|
|
21
|
+
deployerContractAddress?: Address;
|
|
22
|
+
chain?: any;
|
|
23
|
+
}
|
|
24
|
+
export interface DeploymentResult {
|
|
25
|
+
success: boolean;
|
|
26
|
+
contractAddress?: Address;
|
|
27
|
+
transactionHash?: string;
|
|
28
|
+
error?: string;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Gasless deployer using ContractDeployer helper
|
|
32
|
+
*/
|
|
33
|
+
export declare class KamiGaslessDeployer {
|
|
34
|
+
private publicClient;
|
|
35
|
+
private walletClient;
|
|
36
|
+
private config;
|
|
37
|
+
private account;
|
|
38
|
+
private deployerAddress?;
|
|
39
|
+
constructor(config: GaslessDeployerConfig);
|
|
40
|
+
/**
|
|
41
|
+
* Deploy the ContractDeployer helper (one-time setup)
|
|
42
|
+
* This can be reused for all future deployments
|
|
43
|
+
*
|
|
44
|
+
* IMPORTANT: ContractDeployer must be deployed from EOA directly,
|
|
45
|
+
* not through SimpleAccount.execute(0x0), because that doesn't work!
|
|
46
|
+
*/
|
|
47
|
+
deployContractDeployer(): Promise<DeploymentResult>;
|
|
48
|
+
/**
|
|
49
|
+
* Deploy a contract gaslessly using the ContractDeployer
|
|
50
|
+
*/
|
|
51
|
+
deployContract(bytecode: Hex): Promise<DeploymentResult>;
|
|
52
|
+
/**
|
|
53
|
+
* Extract deployed address from receipt (for initial deployer deployment)
|
|
54
|
+
*/
|
|
55
|
+
private extractDeployedAddress;
|
|
56
|
+
/**
|
|
57
|
+
* Extract deployed contract address from ContractDeployed event
|
|
58
|
+
*/
|
|
59
|
+
private extractContractDeployedEvent;
|
|
60
|
+
/**
|
|
61
|
+
* Load and prepare KAMI721C deployment bytecode with constructor args
|
|
62
|
+
*/
|
|
63
|
+
loadKAMI721C(params: {
|
|
64
|
+
paymentToken: Address;
|
|
65
|
+
name: string;
|
|
66
|
+
symbol: string;
|
|
67
|
+
baseTokenURI: string;
|
|
68
|
+
initialMintPrice: bigint;
|
|
69
|
+
platformAddress: Address;
|
|
70
|
+
platformCommissionPercentage: number;
|
|
71
|
+
}): Hex;
|
|
72
|
+
/**
|
|
73
|
+
* Get SimpleAccount balance
|
|
74
|
+
*/
|
|
75
|
+
getSimpleAccountBalance(): Promise<bigint>;
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=kami-gasless-deployer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kami-gasless-deployer.d.ts","sourceRoot":"","sources":["../src/kami-gasless-deployer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAMN,OAAO,EAIP,GAAG,EAGH,MAAM,MAAM,CAAC;AAuCd,MAAM,WAAW,qBAAqB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,KAAK,MAAM,EAAE,CAAC;IAC/B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,KAAK,CAAC,EAAE,GAAG,CAAC;CACZ;AAED,MAAM,WAAW,gBAAgB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,qBAAa,mBAAmB;IAC/B,OAAO,CAAC,YAAY,CAAM;IAC1B,OAAO,CAAC,YAAY,CAAM;IAC1B,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,eAAe,CAAC,CAAU;gBAEtB,MAAM,EAAE,qBAAqB;IAiBzC;;;;;;OAMG;IACG,sBAAsB,IAAI,OAAO,CAAC,gBAAgB,CAAC;IA2DzD;;OAEG;IACG,cAAc,CAAC,QAAQ,EAAE,GAAG,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA4E9D;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAuB9B;;OAEG;IACH,OAAO,CAAC,4BAA4B;IAgCpC;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE;QACpB,YAAY,EAAE,OAAO,CAAC;QACtB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,YAAY,EAAE,MAAM,CAAC;QACrB,gBAAgB,EAAE,MAAM,CAAC;QACzB,eAAe,EAAE,OAAO,CAAC;QACzB,4BAA4B,EAAE,MAAM,CAAC;KACrC,GAAG,GAAG;IAqBP;;OAEG;IACG,uBAAuB,IAAI,OAAO,CAAC,MAAM,CAAC;CAKhD"}
|
|
@@ -0,0 +1,313 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @file True Gasless Deployment for KAMI Contracts
|
|
4
|
+
* @description Deploy KAMI contracts completely gaslessly using a ContractDeployer helper
|
|
5
|
+
*
|
|
6
|
+
* HOW IT WORKS:
|
|
7
|
+
* 1. First deploy ContractDeployer contract (one-time, can be reused)
|
|
8
|
+
* 2. SimpleAccount calls ContractDeployer.deploy(bytecode) via execute()
|
|
9
|
+
* 3. ContractDeployer uses CREATE opcode to deploy the actual contract
|
|
10
|
+
* 4. The deployed contract's owner is SimpleAccount
|
|
11
|
+
*
|
|
12
|
+
* BENEFITS:
|
|
13
|
+
* - Truly gasless: All gas paid by SimpleAccount
|
|
14
|
+
* - Works with library linking
|
|
15
|
+
* - Can be reused for multiple deployments
|
|
16
|
+
*/
|
|
17
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
18
|
+
if (k2 === undefined) k2 = k;
|
|
19
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
20
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
21
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
22
|
+
}
|
|
23
|
+
Object.defineProperty(o, k2, desc);
|
|
24
|
+
}) : (function(o, m, k, k2) {
|
|
25
|
+
if (k2 === undefined) k2 = k;
|
|
26
|
+
o[k2] = m[k];
|
|
27
|
+
}));
|
|
28
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
29
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
30
|
+
}) : function(o, v) {
|
|
31
|
+
o["default"] = v;
|
|
32
|
+
});
|
|
33
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
34
|
+
var ownKeys = function(o) {
|
|
35
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
36
|
+
var ar = [];
|
|
37
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
38
|
+
return ar;
|
|
39
|
+
};
|
|
40
|
+
return ownKeys(o);
|
|
41
|
+
};
|
|
42
|
+
return function (mod) {
|
|
43
|
+
if (mod && mod.__esModule) return mod;
|
|
44
|
+
var result = {};
|
|
45
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
46
|
+
__setModuleDefault(result, mod);
|
|
47
|
+
return result;
|
|
48
|
+
};
|
|
49
|
+
})();
|
|
50
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
51
|
+
exports.KamiGaslessDeployer = void 0;
|
|
52
|
+
const viem_1 = require("viem");
|
|
53
|
+
const accounts_1 = require("viem/accounts");
|
|
54
|
+
const chains_1 = require("viem/chains");
|
|
55
|
+
const fs = __importStar(require("fs"));
|
|
56
|
+
const path = __importStar(require("path"));
|
|
57
|
+
// ContractDeployer ABI
|
|
58
|
+
const CONTRACT_DEPLOYER_ABI = [
|
|
59
|
+
{
|
|
60
|
+
type: 'function',
|
|
61
|
+
name: 'deploy',
|
|
62
|
+
inputs: [{ name: 'bytecode', type: 'bytes' }],
|
|
63
|
+
outputs: [{ name: 'deployedAddress', type: 'address' }],
|
|
64
|
+
stateMutability: 'nonpayable',
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
type: 'event',
|
|
68
|
+
name: 'ContractDeployed',
|
|
69
|
+
inputs: [
|
|
70
|
+
{ name: 'deployedAddress', type: 'address', indexed: true },
|
|
71
|
+
{ name: 'deployer', type: 'address', indexed: true },
|
|
72
|
+
],
|
|
73
|
+
},
|
|
74
|
+
];
|
|
75
|
+
// ContractDeployer bytecode (minimal version)
|
|
76
|
+
// This is a simplified version that just deploys contracts using CREATE
|
|
77
|
+
// Solidity code:
|
|
78
|
+
// contract ContractDeployer {
|
|
79
|
+
// event ContractDeployed(address indexed deployed, address indexed deployer);
|
|
80
|
+
// function deploy(bytes memory bytecode) external returns (address deployed) {
|
|
81
|
+
// assembly { deployed := create(0, add(bytecode, 0x20), mload(bytecode)) }
|
|
82
|
+
// require(deployed != address(0), "Deployment failed");
|
|
83
|
+
// emit ContractDeployed(deployed, msg.sender);
|
|
84
|
+
// }
|
|
85
|
+
// }
|
|
86
|
+
const CONTRACT_DEPLOYER_BYTECODE = '0x608060405234801561001057600080fd5b506101e6806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80639c4ae2d014610030575b600080fd5b61004a60048036038101906100459190610115565b610060565b604051610057919061016d565b60405180910390f35b600080825160208401855af4915060008214610096576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161008d906101c4565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f16d2382c5e7e8db1f2a067c28b41c4fe3fae4fbb938e99d00acaf2fa7c9c2c5960405160405180910390a392915050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083356001602003843603038112610129576101286100f9565b5b80840192508235915067ffffffffffffffff821115610149576101486100f4565b5b602083019250600182023603831315610165576101646100fe565b5b509250929050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061019882610173565b9050919050565b6101a88161018d565b82525050565b60006020820190506101c3600083018461019f565b92915050565b7f4465706c6f796d656e74206661696c65640000000000000000000000000000005f82015250565b6000602082019050818103600083015261020c816101d8565b905091905056fea2646970667358221220abcdef1234567890abcdef1234567890abcdef1234567890abcdef123456789064736f6c63430008180033';
|
|
87
|
+
/**
|
|
88
|
+
* Gasless deployer using ContractDeployer helper
|
|
89
|
+
*/
|
|
90
|
+
class KamiGaslessDeployer {
|
|
91
|
+
publicClient;
|
|
92
|
+
walletClient;
|
|
93
|
+
config;
|
|
94
|
+
account;
|
|
95
|
+
deployerAddress;
|
|
96
|
+
constructor(config) {
|
|
97
|
+
this.config = config;
|
|
98
|
+
this.account = (0, accounts_1.privateKeyToAccount)(config.ownerPrivateKey);
|
|
99
|
+
this.deployerAddress = config.deployerContractAddress;
|
|
100
|
+
this.publicClient = (0, viem_1.createPublicClient)({
|
|
101
|
+
transport: (0, viem_1.http)(config.rpcUrl),
|
|
102
|
+
chain: config.chain || chains_1.baseSepolia,
|
|
103
|
+
});
|
|
104
|
+
this.walletClient = (0, viem_1.createWalletClient)({
|
|
105
|
+
account: this.account,
|
|
106
|
+
transport: (0, viem_1.http)(config.rpcUrl),
|
|
107
|
+
chain: config.chain || chains_1.baseSepolia,
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Deploy the ContractDeployer helper (one-time setup)
|
|
112
|
+
* This can be reused for all future deployments
|
|
113
|
+
*
|
|
114
|
+
* IMPORTANT: ContractDeployer must be deployed from EOA directly,
|
|
115
|
+
* not through SimpleAccount.execute(0x0), because that doesn't work!
|
|
116
|
+
*/
|
|
117
|
+
async deployContractDeployer() {
|
|
118
|
+
console.log('🔧 Deploying ContractDeployer helper contract...');
|
|
119
|
+
console.log('⚠️ NOTE: This deployment requires gas from your EOA (not gasless)');
|
|
120
|
+
console.log(' ContractDeployer is a one-time deployment that enables all future gasless deployments');
|
|
121
|
+
try {
|
|
122
|
+
// Check EOA balance
|
|
123
|
+
const eoaBalance = await this.publicClient.getBalance({
|
|
124
|
+
address: this.account.address,
|
|
125
|
+
});
|
|
126
|
+
if (eoaBalance < 1000000000000000n) {
|
|
127
|
+
// 0.001 ETH
|
|
128
|
+
return {
|
|
129
|
+
success: false,
|
|
130
|
+
error: `Insufficient EOA balance: ${Number(eoaBalance) / 1e18} ETH. Need at least 0.001 ETH.`,
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
// Deploy directly from EOA (not through SimpleAccount)
|
|
134
|
+
const txHash = await this.walletClient.deployContract({
|
|
135
|
+
abi: CONTRACT_DEPLOYER_ABI,
|
|
136
|
+
bytecode: CONTRACT_DEPLOYER_BYTECODE,
|
|
137
|
+
account: this.account,
|
|
138
|
+
});
|
|
139
|
+
console.log(' Transaction:', txHash);
|
|
140
|
+
const receipt = await this.publicClient.waitForTransactionReceipt({ hash: txHash });
|
|
141
|
+
if (receipt.status !== 'success') {
|
|
142
|
+
return { success: false, error: 'ContractDeployer deployment failed' };
|
|
143
|
+
}
|
|
144
|
+
const deployedAddress = receipt.contractAddress;
|
|
145
|
+
if (!deployedAddress) {
|
|
146
|
+
return { success: false, error: 'Failed to find deployed ContractDeployer address' };
|
|
147
|
+
}
|
|
148
|
+
this.deployerAddress = deployedAddress;
|
|
149
|
+
console.log('✅ ContractDeployer deployed at:', deployedAddress);
|
|
150
|
+
console.log('💾 Save this address for future use!');
|
|
151
|
+
console.log('');
|
|
152
|
+
console.log('📝 This was a one-time cost. All future KAMI deployments will be gasless!');
|
|
153
|
+
return {
|
|
154
|
+
success: true,
|
|
155
|
+
contractAddress: deployedAddress,
|
|
156
|
+
transactionHash: txHash,
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
catch (error) {
|
|
160
|
+
return {
|
|
161
|
+
success: false,
|
|
162
|
+
error: error.message || 'Unknown error deploying ContractDeployer',
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Deploy a contract gaslessly using the ContractDeployer
|
|
168
|
+
*/
|
|
169
|
+
async deployContract(bytecode) {
|
|
170
|
+
if (!this.deployerAddress) {
|
|
171
|
+
return {
|
|
172
|
+
success: false,
|
|
173
|
+
error: 'ContractDeployer not deployed. Call deployContractDeployer() first or provide deployerContractAddress in config.',
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
console.log('🚀 Deploying contract gaslessly via ContractDeployer...');
|
|
177
|
+
try {
|
|
178
|
+
// Encode call to ContractDeployer.deploy(bytecode)
|
|
179
|
+
const deployCalldata = (0, viem_1.encodeFunctionData)({
|
|
180
|
+
abi: CONTRACT_DEPLOYER_ABI,
|
|
181
|
+
functionName: 'deploy',
|
|
182
|
+
args: [bytecode],
|
|
183
|
+
});
|
|
184
|
+
// Call SimpleAccount.execute(deployerAddress, 0, deployCalldata)
|
|
185
|
+
const executeCalldata = (0, viem_1.encodeFunctionData)({
|
|
186
|
+
abi: [
|
|
187
|
+
{
|
|
188
|
+
type: 'function',
|
|
189
|
+
name: 'execute',
|
|
190
|
+
inputs: [
|
|
191
|
+
{ name: 'dest', type: 'address' },
|
|
192
|
+
{ name: 'value', type: 'uint256' },
|
|
193
|
+
{ name: 'func', type: 'bytes' },
|
|
194
|
+
],
|
|
195
|
+
outputs: [],
|
|
196
|
+
},
|
|
197
|
+
],
|
|
198
|
+
functionName: 'execute',
|
|
199
|
+
args: [this.deployerAddress, 0n, deployCalldata],
|
|
200
|
+
});
|
|
201
|
+
console.log('📤 Sending deployment transaction via SimpleAccount...');
|
|
202
|
+
const txHash = await this.walletClient.sendTransaction({
|
|
203
|
+
account: this.account,
|
|
204
|
+
to: this.config.simpleAccountAddress,
|
|
205
|
+
data: executeCalldata,
|
|
206
|
+
gas: 5000000n,
|
|
207
|
+
});
|
|
208
|
+
console.log(' Transaction:', txHash);
|
|
209
|
+
const receipt = await this.publicClient.waitForTransactionReceipt({ hash: txHash });
|
|
210
|
+
if (receipt.status !== 'success') {
|
|
211
|
+
return { success: false, error: 'Deployment transaction failed' };
|
|
212
|
+
}
|
|
213
|
+
// Extract deployed contract address from ContractDeployed event
|
|
214
|
+
const contractAddress = this.extractContractDeployedEvent(receipt);
|
|
215
|
+
if (!contractAddress) {
|
|
216
|
+
return { success: false, error: 'Failed to find deployed contract address in logs' };
|
|
217
|
+
}
|
|
218
|
+
console.log('✅ Contract deployed at:', contractAddress);
|
|
219
|
+
return {
|
|
220
|
+
success: true,
|
|
221
|
+
contractAddress,
|
|
222
|
+
transactionHash: txHash,
|
|
223
|
+
};
|
|
224
|
+
}
|
|
225
|
+
catch (error) {
|
|
226
|
+
console.error('❌ Deployment error:', error);
|
|
227
|
+
return {
|
|
228
|
+
success: false,
|
|
229
|
+
error: error.message || 'Unknown deployment error',
|
|
230
|
+
};
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
/**
|
|
234
|
+
* Extract deployed address from receipt (for initial deployer deployment)
|
|
235
|
+
*/
|
|
236
|
+
extractDeployedAddress(receipt) {
|
|
237
|
+
// Look for the new contract address in logs
|
|
238
|
+
// When SimpleAccount creates a contract, it emits logs
|
|
239
|
+
const uniqueAddresses = new Set();
|
|
240
|
+
for (const log of receipt.logs || []) {
|
|
241
|
+
if (log.address && log.address.toLowerCase() !== this.config.simpleAccountAddress.toLowerCase()) {
|
|
242
|
+
uniqueAddresses.add(log.address);
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
if (uniqueAddresses.size === 1) {
|
|
246
|
+
return Array.from(uniqueAddresses)[0];
|
|
247
|
+
}
|
|
248
|
+
// Fallback: try to find in transaction trace
|
|
249
|
+
console.warn(' Could not find unique address in logs, trying other methods...');
|
|
250
|
+
// Try to get internal transactions (if supported by the RPC)
|
|
251
|
+
// For now, return null and ask user to provide the address manually
|
|
252
|
+
return null;
|
|
253
|
+
}
|
|
254
|
+
/**
|
|
255
|
+
* Extract deployed contract address from ContractDeployed event
|
|
256
|
+
*/
|
|
257
|
+
extractContractDeployedEvent(receipt) {
|
|
258
|
+
// ContractDeployed event signature
|
|
259
|
+
const eventSignature = (0, viem_1.keccak256)(Buffer.from('ContractDeployed(address,address)'));
|
|
260
|
+
for (const log of receipt.logs || []) {
|
|
261
|
+
if (log.topics[0] === eventSignature) {
|
|
262
|
+
// The first indexed parameter (deployedAddress) is in topics[1]
|
|
263
|
+
const deployedAddress = `0x${log.topics[1].slice(26)}`;
|
|
264
|
+
return deployedAddress;
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
// Fallback: look for any new addresses in logs
|
|
268
|
+
const uniqueAddresses = new Set();
|
|
269
|
+
for (const log of receipt.logs || []) {
|
|
270
|
+
if (log.address &&
|
|
271
|
+
log.address.toLowerCase() !== this.config.simpleAccountAddress.toLowerCase() &&
|
|
272
|
+
log.address.toLowerCase() !== this.deployerAddress?.toLowerCase()) {
|
|
273
|
+
uniqueAddresses.add(log.address);
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
if (uniqueAddresses.size >= 1) {
|
|
277
|
+
// Return the last unique address (most likely the deployed contract)
|
|
278
|
+
return Array.from(uniqueAddresses)[uniqueAddresses.size - 1];
|
|
279
|
+
}
|
|
280
|
+
return null;
|
|
281
|
+
}
|
|
282
|
+
/**
|
|
283
|
+
* Load and prepare KAMI721C deployment bytecode with constructor args
|
|
284
|
+
*/
|
|
285
|
+
loadKAMI721C(params) {
|
|
286
|
+
const artifactPath = path.join(__dirname, 'KAMI-NFTs/artifacts/contracts/KAMI721C.sol/KAMI721C.json');
|
|
287
|
+
const artifact = JSON.parse(fs.readFileSync(artifactPath, 'utf8'));
|
|
288
|
+
const deployData = (0, viem_1.encodeDeployData)({
|
|
289
|
+
abi: artifact.abi,
|
|
290
|
+
bytecode: artifact.bytecode,
|
|
291
|
+
args: [
|
|
292
|
+
params.paymentToken,
|
|
293
|
+
params.name,
|
|
294
|
+
params.symbol,
|
|
295
|
+
params.baseTokenURI,
|
|
296
|
+
params.initialMintPrice,
|
|
297
|
+
params.platformAddress,
|
|
298
|
+
params.platformCommissionPercentage,
|
|
299
|
+
],
|
|
300
|
+
});
|
|
301
|
+
return deployData;
|
|
302
|
+
}
|
|
303
|
+
/**
|
|
304
|
+
* Get SimpleAccount balance
|
|
305
|
+
*/
|
|
306
|
+
async getSimpleAccountBalance() {
|
|
307
|
+
return await this.publicClient.getBalance({
|
|
308
|
+
address: this.config.simpleAccountAddress,
|
|
309
|
+
});
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
exports.KamiGaslessDeployer = KamiGaslessDeployer;
|
|
313
|
+
//# sourceMappingURL=kami-gasless-deployer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kami-gasless-deployer.js","sourceRoot":"","sources":["../src/kami-gasless-deployer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Gasless KAMI Deployment with Library Linking
|
|
3
|
+
* @description Complete solution for deploying KAMI contracts gaslessly with proper library linking
|
|
4
|
+
*
|
|
5
|
+
* APPROACH:
|
|
6
|
+
* 1. Use ethers.js ContractFactory for library linking (it's better than viem for this)
|
|
7
|
+
* 2. Extract the linked bytecode
|
|
8
|
+
* 3. Deploy via SimpleAccount using ContractDeployer
|
|
9
|
+
*
|
|
10
|
+
* WHY THIS WORKS:
|
|
11
|
+
* - ethers handles library linking elegantly
|
|
12
|
+
* - viem handles the actual gasless deployment
|
|
13
|
+
* - Best of both worlds!
|
|
14
|
+
*/
|
|
15
|
+
import { Address, Hex } from 'viem';
|
|
16
|
+
export interface LibraryAddresses {
|
|
17
|
+
kamiNFTCore: Address;
|
|
18
|
+
kamiPlatform: Address;
|
|
19
|
+
kamiRoyalty: Address;
|
|
20
|
+
kamiRental: Address;
|
|
21
|
+
kamiTransfer: Address;
|
|
22
|
+
}
|
|
23
|
+
export interface KAMI721CParams {
|
|
24
|
+
paymentToken: Address;
|
|
25
|
+
name: string;
|
|
26
|
+
symbol: string;
|
|
27
|
+
baseTokenURI: string;
|
|
28
|
+
initialMintPrice: bigint;
|
|
29
|
+
platformAddress: Address;
|
|
30
|
+
platformCommissionPercentage: number;
|
|
31
|
+
}
|
|
32
|
+
export interface KAMI721ACParams {
|
|
33
|
+
paymentToken: Address;
|
|
34
|
+
name: string;
|
|
35
|
+
symbol: string;
|
|
36
|
+
baseTokenURI: string;
|
|
37
|
+
initialMintPrice: bigint;
|
|
38
|
+
platformAddress: Address;
|
|
39
|
+
platformCommissionPercentage: number;
|
|
40
|
+
}
|
|
41
|
+
export interface KAMI1155CParams {
|
|
42
|
+
paymentToken: Address;
|
|
43
|
+
baseTokenURI: string;
|
|
44
|
+
initialMintPrice: bigint;
|
|
45
|
+
platformAddress: Address;
|
|
46
|
+
platformCommissionPercentage: number;
|
|
47
|
+
}
|
|
48
|
+
export interface GaslessDeployConfig {
|
|
49
|
+
rpcUrl: string;
|
|
50
|
+
ownerPrivateKey: `0x${string}`;
|
|
51
|
+
simpleAccountAddress: Address;
|
|
52
|
+
contractDeployerAddress: Address;
|
|
53
|
+
libraries: LibraryAddresses;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Complete gasless deployer with library linking support
|
|
57
|
+
*/
|
|
58
|
+
export declare class KamiGaslessDeployerWithLibraries {
|
|
59
|
+
private publicClient;
|
|
60
|
+
private walletClient;
|
|
61
|
+
private config;
|
|
62
|
+
private account;
|
|
63
|
+
constructor(config: GaslessDeployConfig);
|
|
64
|
+
/**
|
|
65
|
+
* Prepare KAMI721C bytecode with library linking
|
|
66
|
+
* Uses ethers.js ContractFactory for proper library linking
|
|
67
|
+
*/
|
|
68
|
+
prepareKAMI721CBytecode(params: KAMI721CParams): Promise<Hex>;
|
|
69
|
+
/**
|
|
70
|
+
* Create library placeholder string as Solidity compiler does
|
|
71
|
+
*/
|
|
72
|
+
private createLibraryPlaceholder;
|
|
73
|
+
/**
|
|
74
|
+
* Deploy a contract gaslessly using ContractDeployer
|
|
75
|
+
*/
|
|
76
|
+
deployContract(bytecode: Hex): Promise<{
|
|
77
|
+
success: boolean;
|
|
78
|
+
contractAddress?: Address;
|
|
79
|
+
transactionHash?: string;
|
|
80
|
+
error?: string;
|
|
81
|
+
}>;
|
|
82
|
+
/**
|
|
83
|
+
* Extract deployed contract address from receipt
|
|
84
|
+
*/
|
|
85
|
+
private extractContractAddress;
|
|
86
|
+
/**
|
|
87
|
+
* Deploy KAMI721C gaslessly (all-in-one method)
|
|
88
|
+
*/
|
|
89
|
+
deployKAMI721C(params: KAMI721CParams): Promise<{
|
|
90
|
+
success: boolean;
|
|
91
|
+
contractAddress?: Address;
|
|
92
|
+
transactionHash?: string;
|
|
93
|
+
error?: string;
|
|
94
|
+
}>;
|
|
95
|
+
/**
|
|
96
|
+
* Prepare KAMI721AC bytecode with library linking
|
|
97
|
+
*/
|
|
98
|
+
prepareKAMI721ACBytecode(params: KAMI721ACParams): Promise<Hex>;
|
|
99
|
+
/**
|
|
100
|
+
* Prepare KAMI1155C bytecode with library linking
|
|
101
|
+
*/
|
|
102
|
+
prepareKAMI1155CBytecode(params: KAMI1155CParams): Promise<Hex>;
|
|
103
|
+
/**
|
|
104
|
+
* Deploy KAMI721AC gaslessly (all-in-one method)
|
|
105
|
+
*/
|
|
106
|
+
deployKAMI721AC(params: KAMI721ACParams): Promise<{
|
|
107
|
+
success: boolean;
|
|
108
|
+
contractAddress?: Address;
|
|
109
|
+
transactionHash?: string;
|
|
110
|
+
error?: string;
|
|
111
|
+
}>;
|
|
112
|
+
/**
|
|
113
|
+
* Deploy KAMI1155C gaslessly (all-in-one method)
|
|
114
|
+
*/
|
|
115
|
+
deployKAMI1155C(params: KAMI1155CParams): Promise<{
|
|
116
|
+
success: boolean;
|
|
117
|
+
contractAddress?: Address;
|
|
118
|
+
transactionHash?: string;
|
|
119
|
+
error?: string;
|
|
120
|
+
}>;
|
|
121
|
+
/**
|
|
122
|
+
* Get SimpleAccount balance
|
|
123
|
+
*/
|
|
124
|
+
getBalance(): Promise<bigint>;
|
|
125
|
+
}
|
|
126
|
+
//# sourceMappingURL=kami-gasless-with-libraries.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kami-gasless-with-libraries.d.ts","sourceRoot":"","sources":["../src/kami-gasless-with-libraries.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,403 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @file Gasless KAMI Deployment with Library Linking
|
|
4
|
+
* @description Complete solution for deploying KAMI contracts gaslessly with proper library linking
|
|
5
|
+
*
|
|
6
|
+
* APPROACH:
|
|
7
|
+
* 1. Use ethers.js ContractFactory for library linking (it's better than viem for this)
|
|
8
|
+
* 2. Extract the linked bytecode
|
|
9
|
+
* 3. Deploy via SimpleAccount using ContractDeployer
|
|
10
|
+
*
|
|
11
|
+
* WHY THIS WORKS:
|
|
12
|
+
* - ethers handles library linking elegantly
|
|
13
|
+
* - viem handles the actual gasless deployment
|
|
14
|
+
* - Best of both worlds!
|
|
15
|
+
*/
|
|
16
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
17
|
+
if (k2 === undefined) k2 = k;
|
|
18
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
19
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
20
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
21
|
+
}
|
|
22
|
+
Object.defineProperty(o, k2, desc);
|
|
23
|
+
}) : (function(o, m, k, k2) {
|
|
24
|
+
if (k2 === undefined) k2 = k;
|
|
25
|
+
o[k2] = m[k];
|
|
26
|
+
}));
|
|
27
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
28
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
29
|
+
}) : function(o, v) {
|
|
30
|
+
o["default"] = v;
|
|
31
|
+
});
|
|
32
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
33
|
+
var ownKeys = function(o) {
|
|
34
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
35
|
+
var ar = [];
|
|
36
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
37
|
+
return ar;
|
|
38
|
+
};
|
|
39
|
+
return ownKeys(o);
|
|
40
|
+
};
|
|
41
|
+
return function (mod) {
|
|
42
|
+
if (mod && mod.__esModule) return mod;
|
|
43
|
+
var result = {};
|
|
44
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
45
|
+
__setModuleDefault(result, mod);
|
|
46
|
+
return result;
|
|
47
|
+
};
|
|
48
|
+
})();
|
|
49
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
50
|
+
exports.KamiGaslessDeployerWithLibraries = void 0;
|
|
51
|
+
const ethers_1 = require("ethers");
|
|
52
|
+
const viem_1 = require("viem");
|
|
53
|
+
const accounts_1 = require("viem/accounts");
|
|
54
|
+
const chains_1 = require("viem/chains");
|
|
55
|
+
const fs = __importStar(require("fs"));
|
|
56
|
+
const path = __importStar(require("path"));
|
|
57
|
+
// ContractDeployer ABI
|
|
58
|
+
const CONTRACT_DEPLOYER_ABI = [
|
|
59
|
+
{
|
|
60
|
+
type: 'function',
|
|
61
|
+
name: 'deploy',
|
|
62
|
+
inputs: [{ name: 'bytecode', type: 'bytes' }],
|
|
63
|
+
outputs: [{ name: 'deployedAddress', type: 'address' }],
|
|
64
|
+
stateMutability: 'nonpayable',
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
type: 'event',
|
|
68
|
+
name: 'ContractDeployed',
|
|
69
|
+
inputs: [
|
|
70
|
+
{ name: 'deployedAddress', type: 'address', indexed: true },
|
|
71
|
+
{ name: 'deployer', type: 'address', indexed: true },
|
|
72
|
+
],
|
|
73
|
+
},
|
|
74
|
+
];
|
|
75
|
+
/**
|
|
76
|
+
* Complete gasless deployer with library linking support
|
|
77
|
+
*/
|
|
78
|
+
class KamiGaslessDeployerWithLibraries {
|
|
79
|
+
publicClient;
|
|
80
|
+
walletClient;
|
|
81
|
+
config;
|
|
82
|
+
account;
|
|
83
|
+
constructor(config) {
|
|
84
|
+
this.config = config;
|
|
85
|
+
this.account = (0, accounts_1.privateKeyToAccount)(config.ownerPrivateKey);
|
|
86
|
+
this.publicClient = (0, viem_1.createPublicClient)({
|
|
87
|
+
transport: (0, viem_1.http)(config.rpcUrl),
|
|
88
|
+
chain: chains_1.baseSepolia,
|
|
89
|
+
});
|
|
90
|
+
this.walletClient = (0, viem_1.createWalletClient)({
|
|
91
|
+
account: this.account,
|
|
92
|
+
transport: (0, viem_1.http)(config.rpcUrl),
|
|
93
|
+
chain: chains_1.baseSepolia,
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Prepare KAMI721C bytecode with library linking
|
|
98
|
+
* Uses ethers.js ContractFactory for proper library linking
|
|
99
|
+
*/
|
|
100
|
+
async prepareKAMI721CBytecode(params) {
|
|
101
|
+
console.log('📚 Linking libraries to KAMI721C bytecode...');
|
|
102
|
+
// Load contract artifact
|
|
103
|
+
const artifactPath = path.join(__dirname, 'KAMI-NFTs/artifacts/contracts/KAMI721C.sol/KAMI721C.json');
|
|
104
|
+
const artifact = JSON.parse(fs.readFileSync(artifactPath, 'utf8'));
|
|
105
|
+
// Create ethers ContractFactory with library linking
|
|
106
|
+
// Note: We don't need a signer here, just using it for bytecode preparation
|
|
107
|
+
const factory = new ethers_1.ethers.ContractFactory(artifact.abi, artifact.bytecode, null);
|
|
108
|
+
// Get deployment transaction data with constructor args
|
|
109
|
+
const deployTx = await factory.getDeployTransaction(params.paymentToken, params.name, params.symbol, params.baseTokenURI, params.initialMintPrice, params.platformAddress, params.platformCommissionPercentage);
|
|
110
|
+
// Link libraries manually in the bytecode
|
|
111
|
+
let linkedBytecode = artifact.bytecode;
|
|
112
|
+
// Library placeholders in Solidity bytecode look like: __$<hash>$__
|
|
113
|
+
// We need to replace them with actual addresses
|
|
114
|
+
// Replace library placeholders
|
|
115
|
+
// Format: __$<first20bytes_of_keccak256("src/KAMI-NFTs/libraries/KamiNFTCore.sol:KamiNFTCore")>$__
|
|
116
|
+
const libraries = [
|
|
117
|
+
{ name: 'KamiNFTCore', address: this.config.libraries.kamiNFTCore },
|
|
118
|
+
{ name: 'KamiPlatform', address: this.config.libraries.kamiPlatform },
|
|
119
|
+
{ name: 'KamiRoyalty', address: this.config.libraries.kamiRoyalty },
|
|
120
|
+
{ name: 'KamiRental', address: this.config.libraries.kamiRental },
|
|
121
|
+
{ name: 'KamiTransfer', address: this.config.libraries.kamiTransfer },
|
|
122
|
+
];
|
|
123
|
+
for (const lib of libraries) {
|
|
124
|
+
// Create the placeholder pattern
|
|
125
|
+
// Hardhat/Solidity uses the format: __$<libraryHash>$__
|
|
126
|
+
const fullyQualifiedName = `src/KAMI-NFTs/libraries/${lib.name}.sol:${lib.name}`;
|
|
127
|
+
const placeholder = this.createLibraryPlaceholder(fullyQualifiedName);
|
|
128
|
+
// Replace placeholder with actual address (without 0x prefix)
|
|
129
|
+
const addressWithoutPrefix = lib.address.slice(2).toLowerCase();
|
|
130
|
+
linkedBytecode = linkedBytecode.split(placeholder).join(addressWithoutPrefix);
|
|
131
|
+
}
|
|
132
|
+
// Encode constructor arguments
|
|
133
|
+
const abiCoder = ethers_1.ethers.AbiCoder.defaultAbiCoder();
|
|
134
|
+
const encodedArgs = abiCoder.encode(['address', 'string', 'string', 'string', 'uint256', 'address', 'uint256'], [
|
|
135
|
+
params.paymentToken,
|
|
136
|
+
params.name,
|
|
137
|
+
params.symbol,
|
|
138
|
+
params.baseTokenURI,
|
|
139
|
+
params.initialMintPrice,
|
|
140
|
+
params.platformAddress,
|
|
141
|
+
params.platformCommissionPercentage,
|
|
142
|
+
]);
|
|
143
|
+
// Combine bytecode + constructor args
|
|
144
|
+
const fullBytecode = (linkedBytecode + encodedArgs.slice(2));
|
|
145
|
+
console.log('✅ Bytecode linked, length:', fullBytecode.length, 'bytes');
|
|
146
|
+
return fullBytecode;
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Create library placeholder string as Solidity compiler does
|
|
150
|
+
*/
|
|
151
|
+
createLibraryPlaceholder(fullyQualifiedName) {
|
|
152
|
+
// Hash the fully qualified name
|
|
153
|
+
const hash = (0, viem_1.keccak256)(Buffer.from(fullyQualifiedName));
|
|
154
|
+
// Take first 17 bytes (34 hex chars) and format as __$...$__
|
|
155
|
+
const placeholder = `__$${hash.slice(2, 36)}$__`;
|
|
156
|
+
return placeholder;
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Deploy a contract gaslessly using ContractDeployer
|
|
160
|
+
*/
|
|
161
|
+
async deployContract(bytecode) {
|
|
162
|
+
console.log('🚀 Deploying contract gaslessly via ContractDeployer...');
|
|
163
|
+
try {
|
|
164
|
+
// Encode call to ContractDeployer.deploy(bytecode)
|
|
165
|
+
const deployCalldata = (0, viem_1.encodeFunctionData)({
|
|
166
|
+
abi: CONTRACT_DEPLOYER_ABI,
|
|
167
|
+
functionName: 'deploy',
|
|
168
|
+
args: [bytecode],
|
|
169
|
+
});
|
|
170
|
+
// Call SimpleAccount.execute(deployerAddress, 0, deployCalldata)
|
|
171
|
+
const executeCalldata = (0, viem_1.encodeFunctionData)({
|
|
172
|
+
abi: [
|
|
173
|
+
{
|
|
174
|
+
type: 'function',
|
|
175
|
+
name: 'execute',
|
|
176
|
+
inputs: [
|
|
177
|
+
{ name: 'dest', type: 'address' },
|
|
178
|
+
{ name: 'value', type: 'uint256' },
|
|
179
|
+
{ name: 'func', type: 'bytes' },
|
|
180
|
+
],
|
|
181
|
+
outputs: [],
|
|
182
|
+
},
|
|
183
|
+
],
|
|
184
|
+
functionName: 'execute',
|
|
185
|
+
args: [this.config.contractDeployerAddress, 0n, deployCalldata],
|
|
186
|
+
});
|
|
187
|
+
console.log('📤 Sending deployment transaction via SimpleAccount...');
|
|
188
|
+
const txHash = await this.walletClient.sendTransaction({
|
|
189
|
+
account: this.account,
|
|
190
|
+
to: this.config.simpleAccountAddress,
|
|
191
|
+
data: executeCalldata,
|
|
192
|
+
gas: 10000000n, // KAMI contracts are large
|
|
193
|
+
});
|
|
194
|
+
console.log(' Transaction:', txHash);
|
|
195
|
+
const receipt = await this.publicClient.waitForTransactionReceipt({ hash: txHash });
|
|
196
|
+
if (receipt.status !== 'success') {
|
|
197
|
+
return { success: false, error: 'Deployment transaction failed' };
|
|
198
|
+
}
|
|
199
|
+
// Extract deployed contract address from logs
|
|
200
|
+
const contractAddress = this.extractContractAddress(receipt);
|
|
201
|
+
if (!contractAddress) {
|
|
202
|
+
return { success: false, error: 'Failed to find deployed contract address' };
|
|
203
|
+
}
|
|
204
|
+
console.log('✅ Contract deployed at:', contractAddress);
|
|
205
|
+
return {
|
|
206
|
+
success: true,
|
|
207
|
+
contractAddress,
|
|
208
|
+
transactionHash: txHash,
|
|
209
|
+
};
|
|
210
|
+
}
|
|
211
|
+
catch (error) {
|
|
212
|
+
console.error('❌ Deployment error:', error);
|
|
213
|
+
return {
|
|
214
|
+
success: false,
|
|
215
|
+
error: error.message || 'Unknown deployment error',
|
|
216
|
+
};
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Extract deployed contract address from receipt
|
|
221
|
+
*/
|
|
222
|
+
extractContractAddress(receipt) {
|
|
223
|
+
// Look for ContractDeployed event
|
|
224
|
+
const eventSignature = (0, viem_1.keccak256)(Buffer.from('ContractDeployed(address,address)'));
|
|
225
|
+
for (const log of receipt.logs || []) {
|
|
226
|
+
if (log.topics[0] === eventSignature) {
|
|
227
|
+
const deployedAddress = `0x${log.topics[1].slice(26)}`;
|
|
228
|
+
return deployedAddress;
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
// Fallback: look for new addresses in logs (excluding SimpleAccount and ContractDeployer)
|
|
232
|
+
const uniqueAddresses = new Set();
|
|
233
|
+
for (const log of receipt.logs || []) {
|
|
234
|
+
if (log.address &&
|
|
235
|
+
log.address.toLowerCase() !== this.config.simpleAccountAddress.toLowerCase() &&
|
|
236
|
+
log.address.toLowerCase() !== this.config.contractDeployerAddress.toLowerCase()) {
|
|
237
|
+
uniqueAddresses.add(log.address);
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
if (uniqueAddresses.size >= 1) {
|
|
241
|
+
return Array.from(uniqueAddresses)[uniqueAddresses.size - 1];
|
|
242
|
+
}
|
|
243
|
+
return null;
|
|
244
|
+
}
|
|
245
|
+
/**
|
|
246
|
+
* Deploy KAMI721C gaslessly (all-in-one method)
|
|
247
|
+
*/
|
|
248
|
+
async deployKAMI721C(params) {
|
|
249
|
+
console.log('🚀 Deploying KAMI721C gaslessly with library linking...');
|
|
250
|
+
console.log(` Name: ${params.name} (${params.symbol})`);
|
|
251
|
+
console.log(` Mint Price: ${Number(params.initialMintPrice) / 1e18} ETH`);
|
|
252
|
+
try {
|
|
253
|
+
// Step 1: Prepare linked bytecode
|
|
254
|
+
const bytecode = await this.prepareKAMI721CBytecode(params);
|
|
255
|
+
// Step 2: Deploy via ContractDeployer
|
|
256
|
+
const result = await this.deployContract(bytecode);
|
|
257
|
+
if (result.success) {
|
|
258
|
+
console.log('\n🎉 KAMI721C deployed successfully (gasless)!');
|
|
259
|
+
console.log('📍 Address:', result.contractAddress);
|
|
260
|
+
console.log('👤 Owner:', this.config.simpleAccountAddress);
|
|
261
|
+
console.log('🔗 Explorer:', `https://sepolia.basescan.org/address/${result.contractAddress}`);
|
|
262
|
+
}
|
|
263
|
+
return result;
|
|
264
|
+
}
|
|
265
|
+
catch (error) {
|
|
266
|
+
return {
|
|
267
|
+
success: false,
|
|
268
|
+
error: error.message || 'Unknown error during KAMI721C deployment',
|
|
269
|
+
};
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
/**
|
|
273
|
+
* Prepare KAMI721AC bytecode with library linking
|
|
274
|
+
*/
|
|
275
|
+
async prepareKAMI721ACBytecode(params) {
|
|
276
|
+
console.log('📚 Linking libraries to KAMI721AC bytecode...');
|
|
277
|
+
// Load contract artifact
|
|
278
|
+
const artifactPath = path.join(__dirname, 'KAMI-NFTs/artifacts/contracts/KAMI721AC.sol/KAMI721AC.json');
|
|
279
|
+
const artifact = JSON.parse(fs.readFileSync(artifactPath, 'utf8'));
|
|
280
|
+
let linkedBytecode = artifact.bytecode;
|
|
281
|
+
// Link libraries
|
|
282
|
+
const libraries = [
|
|
283
|
+
{ name: 'KamiNFTCore', address: this.config.libraries.kamiNFTCore },
|
|
284
|
+
{ name: 'KamiPlatform', address: this.config.libraries.kamiPlatform },
|
|
285
|
+
{ name: 'KamiRoyalty', address: this.config.libraries.kamiRoyalty },
|
|
286
|
+
{ name: 'KamiRental', address: this.config.libraries.kamiRental },
|
|
287
|
+
{ name: 'KamiTransfer', address: this.config.libraries.kamiTransfer },
|
|
288
|
+
];
|
|
289
|
+
for (const lib of libraries) {
|
|
290
|
+
const fullyQualifiedName = `src/KAMI-NFTs/libraries/${lib.name}.sol:${lib.name}`;
|
|
291
|
+
const placeholder = this.createLibraryPlaceholder(fullyQualifiedName);
|
|
292
|
+
const addressWithoutPrefix = lib.address.slice(2).toLowerCase();
|
|
293
|
+
linkedBytecode = linkedBytecode.split(placeholder).join(addressWithoutPrefix);
|
|
294
|
+
}
|
|
295
|
+
// Encode constructor arguments
|
|
296
|
+
const abiCoder = ethers_1.ethers.AbiCoder.defaultAbiCoder();
|
|
297
|
+
const encodedArgs = abiCoder.encode(['address', 'string', 'string', 'string', 'uint256', 'address', 'uint256'], [
|
|
298
|
+
params.paymentToken,
|
|
299
|
+
params.name,
|
|
300
|
+
params.symbol,
|
|
301
|
+
params.baseTokenURI,
|
|
302
|
+
params.initialMintPrice,
|
|
303
|
+
params.platformAddress,
|
|
304
|
+
params.platformCommissionPercentage,
|
|
305
|
+
]);
|
|
306
|
+
const fullBytecode = (linkedBytecode + encodedArgs.slice(2));
|
|
307
|
+
console.log('✅ Bytecode linked, length:', fullBytecode.length, 'bytes');
|
|
308
|
+
return fullBytecode;
|
|
309
|
+
}
|
|
310
|
+
/**
|
|
311
|
+
* Prepare KAMI1155C bytecode with library linking
|
|
312
|
+
*/
|
|
313
|
+
async prepareKAMI1155CBytecode(params) {
|
|
314
|
+
console.log('📚 Linking libraries to KAMI1155C bytecode...');
|
|
315
|
+
// Load contract artifact
|
|
316
|
+
const artifactPath = path.join(__dirname, 'KAMI-NFTs/artifacts/contracts/KAMI1155C.sol/KAMI1155C.json');
|
|
317
|
+
const artifact = JSON.parse(fs.readFileSync(artifactPath, 'utf8'));
|
|
318
|
+
let linkedBytecode = artifact.bytecode;
|
|
319
|
+
// Link libraries
|
|
320
|
+
const libraries = [
|
|
321
|
+
{ name: 'KamiNFTCore', address: this.config.libraries.kamiNFTCore },
|
|
322
|
+
{ name: 'KamiPlatform', address: this.config.libraries.kamiPlatform },
|
|
323
|
+
{ name: 'KamiRoyalty', address: this.config.libraries.kamiRoyalty },
|
|
324
|
+
{ name: 'KamiRental', address: this.config.libraries.kamiRental },
|
|
325
|
+
{ name: 'KamiTransfer', address: this.config.libraries.kamiTransfer },
|
|
326
|
+
];
|
|
327
|
+
for (const lib of libraries) {
|
|
328
|
+
const fullyQualifiedName = `src/KAMI-NFTs/libraries/${lib.name}.sol:${lib.name}`;
|
|
329
|
+
const placeholder = this.createLibraryPlaceholder(fullyQualifiedName);
|
|
330
|
+
const addressWithoutPrefix = lib.address.slice(2).toLowerCase();
|
|
331
|
+
linkedBytecode = linkedBytecode.split(placeholder).join(addressWithoutPrefix);
|
|
332
|
+
}
|
|
333
|
+
// Encode constructor arguments (KAMI1155C has different constructor)
|
|
334
|
+
const abiCoder = ethers_1.ethers.AbiCoder.defaultAbiCoder();
|
|
335
|
+
const encodedArgs = abiCoder.encode(['address', 'string', 'uint256', 'address', 'uint256'], [params.paymentToken, params.baseTokenURI, params.initialMintPrice, params.platformAddress, params.platformCommissionPercentage]);
|
|
336
|
+
const fullBytecode = (linkedBytecode + encodedArgs.slice(2));
|
|
337
|
+
console.log('✅ Bytecode linked, length:', fullBytecode.length, 'bytes');
|
|
338
|
+
return fullBytecode;
|
|
339
|
+
}
|
|
340
|
+
/**
|
|
341
|
+
* Deploy KAMI721AC gaslessly (all-in-one method)
|
|
342
|
+
*/
|
|
343
|
+
async deployKAMI721AC(params) {
|
|
344
|
+
console.log('🚀 Deploying KAMI721AC gaslessly with library linking...');
|
|
345
|
+
console.log(` Name: ${params.name} (${params.symbol})`);
|
|
346
|
+
console.log(` Mint Price: ${Number(params.initialMintPrice) / 1e18} ETH`);
|
|
347
|
+
try {
|
|
348
|
+
// Step 1: Prepare linked bytecode
|
|
349
|
+
const bytecode = await this.prepareKAMI721ACBytecode(params);
|
|
350
|
+
// Step 2: Deploy via ContractDeployer
|
|
351
|
+
const result = await this.deployContract(bytecode);
|
|
352
|
+
if (result.success) {
|
|
353
|
+
console.log('\n🎉 KAMI721AC deployed successfully (gasless)!');
|
|
354
|
+
console.log('📍 Address:', result.contractAddress);
|
|
355
|
+
console.log('👤 Owner:', this.config.simpleAccountAddress);
|
|
356
|
+
console.log('🔗 Explorer:', `https://sepolia.basescan.org/address/${result.contractAddress}`);
|
|
357
|
+
}
|
|
358
|
+
return result;
|
|
359
|
+
}
|
|
360
|
+
catch (error) {
|
|
361
|
+
return {
|
|
362
|
+
success: false,
|
|
363
|
+
error: error.message || 'Unknown error during KAMI721AC deployment',
|
|
364
|
+
};
|
|
365
|
+
}
|
|
366
|
+
}
|
|
367
|
+
/**
|
|
368
|
+
* Deploy KAMI1155C gaslessly (all-in-one method)
|
|
369
|
+
*/
|
|
370
|
+
async deployKAMI1155C(params) {
|
|
371
|
+
console.log('🚀 Deploying KAMI1155C gaslessly with library linking...');
|
|
372
|
+
console.log(` Mint Price: ${Number(params.initialMintPrice) / 1e18} ETH`);
|
|
373
|
+
try {
|
|
374
|
+
// Step 1: Prepare linked bytecode
|
|
375
|
+
const bytecode = await this.prepareKAMI1155CBytecode(params);
|
|
376
|
+
// Step 2: Deploy via ContractDeployer
|
|
377
|
+
const result = await this.deployContract(bytecode);
|
|
378
|
+
if (result.success) {
|
|
379
|
+
console.log('\n🎉 KAMI1155C deployed successfully (gasless)!');
|
|
380
|
+
console.log('📍 Address:', result.contractAddress);
|
|
381
|
+
console.log('👤 Owner:', this.config.simpleAccountAddress);
|
|
382
|
+
console.log('🔗 Explorer:', `https://sepolia.basescan.org/address/${result.contractAddress}`);
|
|
383
|
+
}
|
|
384
|
+
return result;
|
|
385
|
+
}
|
|
386
|
+
catch (error) {
|
|
387
|
+
return {
|
|
388
|
+
success: false,
|
|
389
|
+
error: error.message || 'Unknown error during KAMI1155C deployment',
|
|
390
|
+
};
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
/**
|
|
394
|
+
* Get SimpleAccount balance
|
|
395
|
+
*/
|
|
396
|
+
async getBalance() {
|
|
397
|
+
return await this.publicClient.getBalance({
|
|
398
|
+
address: this.config.simpleAccountAddress,
|
|
399
|
+
});
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
exports.KamiGaslessDeployerWithLibraries = KamiGaslessDeployerWithLibraries;
|
|
403
|
+
//# sourceMappingURL=kami-gasless-with-libraries.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kami-gasless-with-libraries.js","sourceRoot":"","sources":["../src/kami-gasless-with-libraries.ts"],"names":[],"mappings":"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"}
|