@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 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';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
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
- // KAMI NFT gasless deployment (recommended - SimpleAccount pays gas)
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":";;;AAuHA,kDAYC;AAnID,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,qEAAqE;AACrE,iFAA4E;AAAnE,0IAAA,yBAAyB,OAAA;AAGlC,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"}
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() is complex
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, consider testing thoroughly on testnet first
9
- * 4. The deployed contract address computation may need adjustment based on network
10
- * 5. For complex deployments, traditional hardhat scripts with ethers may be simpler
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;;;;;;;;;;GAUG;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;;;GAGG;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;IAgBjD;;;;;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"}
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() is complex
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, consider testing thoroughly on testnet first
10
- * 4. The deployed contract address computation may need adjustment based on network
11
- * 5. For complex deployments, traditional hardhat scripts with ethers may be simpler
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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paulstinchcombe/gasless-nft-tx",
3
- "version": "0.4.7",
3
+ "version": "0.4.9",
4
4
  "description": "Library for gasless NFT transactions using SimpleAccount operations",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",