@opcat-labs/cat-sdk 2.0.2 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/artifacts/cat20/cat20.json +34 -34
- package/artifacts/cat20/cat20.scrypt +18 -18
- package/artifacts/cat20/cat20Admin.json +36 -36
- package/artifacts/cat20/cat20Admin.scrypt +30 -30
- package/artifacts/cat20/cat20GuardStateLib.json +21 -21
- package/artifacts/cat20/cat20GuardStateLib.scrypt +5 -5
- package/artifacts/cat20/cat20Guard_12_12_2.json +30 -30
- package/artifacts/cat20/cat20Guard_12_12_2.scrypt +21 -21
- package/artifacts/cat20/cat20Guard_12_12_4.json +30 -30
- package/artifacts/cat20/cat20Guard_12_12_4.scrypt +21 -21
- package/artifacts/cat20/cat20Guard_6_6_2.json +30 -30
- package/artifacts/cat20/cat20Guard_6_6_2.scrypt +21 -21
- package/artifacts/cat20/cat20Guard_6_6_4.json +30 -30
- package/artifacts/cat20/cat20Guard_6_6_4.scrypt +21 -21
- package/artifacts/cat20/cat20StateLib.json +22 -22
- package/artifacts/cat20/cat20StateLib.scrypt +5 -5
- package/artifacts/cat20/minters/cat20ClosedMinter.json +34 -34
- package/artifacts/cat20/minters/cat20ClosedMinter.scrypt +22 -22
- package/artifacts/cat20/minters/cat20OpenMinter.json +34 -34
- package/artifacts/cat20/minters/cat20OpenMinter.scrypt +18 -18
- package/artifacts/cat20/types.json +5 -5
- package/artifacts/cat20/types.scrypt +5 -5
- package/artifacts/cat721/cat721.json +34 -34
- package/artifacts/cat721/cat721.scrypt +18 -18
- package/artifacts/cat721/cat721GuardStateLib.json +21 -21
- package/artifacts/cat721/cat721GuardStateLib.scrypt +5 -5
- package/artifacts/cat721/cat721Guard_12_12_2.json +29 -29
- package/artifacts/cat721/cat721Guard_12_12_2.scrypt +18 -18
- package/artifacts/cat721/cat721Guard_12_12_4.json +29 -29
- package/artifacts/cat721/cat721Guard_12_12_4.scrypt +18 -18
- package/artifacts/cat721/cat721Guard_6_6_2.json +29 -29
- package/artifacts/cat721/cat721Guard_6_6_2.scrypt +18 -18
- package/artifacts/cat721/cat721Guard_6_6_4.json +29 -29
- package/artifacts/cat721/cat721Guard_6_6_4.scrypt +18 -18
- package/artifacts/cat721/cat721StateLib.json +22 -22
- package/artifacts/cat721/cat721StateLib.scrypt +5 -5
- package/artifacts/cat721/minters/cat721ClosedMinter.json +34 -34
- package/artifacts/cat721/minters/cat721ClosedMinter.scrypt +18 -18
- package/artifacts/cat721/minters/cat721OpenMintInfo.json +5 -5
- package/artifacts/cat721/minters/cat721OpenMintInfo.scrypt +4 -4
- package/artifacts/cat721/minters/cat721OpenMinter.json +39 -39
- package/artifacts/cat721/minters/cat721OpenMinter.scrypt +22 -22
- package/artifacts/cat721/minters/cat721OpenMinterMerkleTree.json +19 -19
- package/artifacts/cat721/minters/cat721OpenMinterMerkleTree.scrypt +6 -6
- package/artifacts/cat721/types.json +5 -5
- package/artifacts/cat721/types.scrypt +5 -5
- package/artifacts/constants.json +2 -2
- package/artifacts/constants.scrypt +1 -1
- package/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/backtrace.scrypt +16 -12
- package/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/contextUtils.scrypt +16 -16
- package/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/stateUtils.scrypt +1 -1
- package/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/stdUtils.scrypt +12 -12
- package/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/txHashPreimageUtils.scrypt +7 -7
- package/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/txUtils.scrypt +12 -12
- package/artifacts/scrypt-ts-opcat/assets/smart-contract/types/structs.scrypt +8 -8
- package/artifacts/types.json +2 -2
- package/artifacts/types.scrypt +2 -2
- package/artifacts/utils/ownerUtils.json +14 -14
- package/artifacts/utils/ownerUtils.scrypt +3 -3
- package/artifacts/utils/safeMath.json +14 -14
- package/artifacts/utils/safeMath.scrypt +1 -1
- package/dist/artifacts/cat20/cat20.json +34 -34
- package/dist/artifacts/cat20/cat20.scrypt +18 -18
- package/dist/artifacts/cat20/cat20Admin.json +36 -36
- package/dist/artifacts/cat20/cat20Admin.scrypt +30 -30
- package/dist/artifacts/cat20/cat20GuardStateLib.json +21 -21
- package/dist/artifacts/cat20/cat20GuardStateLib.scrypt +5 -5
- package/dist/artifacts/cat20/cat20Guard_12_12_2.json +30 -30
- package/dist/artifacts/cat20/cat20Guard_12_12_2.scrypt +21 -21
- package/dist/artifacts/cat20/cat20Guard_12_12_4.json +30 -30
- package/dist/artifacts/cat20/cat20Guard_12_12_4.scrypt +21 -21
- package/dist/artifacts/cat20/cat20Guard_6_6_2.json +30 -30
- package/dist/artifacts/cat20/cat20Guard_6_6_2.scrypt +21 -21
- package/dist/artifacts/cat20/cat20Guard_6_6_4.json +30 -30
- package/dist/artifacts/cat20/cat20Guard_6_6_4.scrypt +21 -21
- package/dist/artifacts/cat20/cat20StateLib.json +22 -22
- package/dist/artifacts/cat20/cat20StateLib.scrypt +5 -5
- package/dist/artifacts/cat20/minters/cat20ClosedMinter.json +34 -34
- package/dist/artifacts/cat20/minters/cat20ClosedMinter.scrypt +22 -22
- package/dist/artifacts/cat20/minters/cat20OpenMinter.json +34 -34
- package/dist/artifacts/cat20/minters/cat20OpenMinter.scrypt +18 -18
- package/dist/artifacts/cat20/types.json +5 -5
- package/dist/artifacts/cat20/types.scrypt +5 -5
- package/dist/artifacts/cat721/cat721.json +34 -34
- package/dist/artifacts/cat721/cat721.scrypt +18 -18
- package/dist/artifacts/cat721/cat721GuardStateLib.json +21 -21
- package/dist/artifacts/cat721/cat721GuardStateLib.scrypt +5 -5
- package/dist/artifacts/cat721/cat721Guard_12_12_2.json +29 -29
- package/dist/artifacts/cat721/cat721Guard_12_12_2.scrypt +18 -18
- package/dist/artifacts/cat721/cat721Guard_12_12_4.json +29 -29
- package/dist/artifacts/cat721/cat721Guard_12_12_4.scrypt +18 -18
- package/dist/artifacts/cat721/cat721Guard_6_6_2.json +29 -29
- package/dist/artifacts/cat721/cat721Guard_6_6_2.scrypt +18 -18
- package/dist/artifacts/cat721/cat721Guard_6_6_4.json +29 -29
- package/dist/artifacts/cat721/cat721Guard_6_6_4.scrypt +18 -18
- package/dist/artifacts/cat721/cat721StateLib.json +22 -22
- package/dist/artifacts/cat721/cat721StateLib.scrypt +5 -5
- package/dist/artifacts/cat721/minters/cat721ClosedMinter.json +34 -34
- package/dist/artifacts/cat721/minters/cat721ClosedMinter.scrypt +18 -18
- package/dist/artifacts/cat721/minters/cat721OpenMintInfo.json +5 -5
- package/dist/artifacts/cat721/minters/cat721OpenMintInfo.scrypt +4 -4
- package/dist/artifacts/cat721/minters/cat721OpenMinter.json +39 -39
- package/dist/artifacts/cat721/minters/cat721OpenMinter.scrypt +22 -22
- package/dist/artifacts/cat721/minters/cat721OpenMinterMerkleTree.json +19 -19
- package/dist/artifacts/cat721/minters/cat721OpenMinterMerkleTree.scrypt +6 -6
- package/dist/artifacts/cat721/types.json +5 -5
- package/dist/artifacts/cat721/types.scrypt +5 -5
- package/dist/artifacts/constants.json +2 -2
- package/dist/artifacts/constants.scrypt +1 -1
- package/dist/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/backtrace.scrypt +16 -12
- package/dist/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/contextUtils.scrypt +16 -16
- package/dist/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/stateUtils.scrypt +1 -1
- package/dist/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/stdUtils.scrypt +12 -12
- package/dist/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/txHashPreimageUtils.scrypt +7 -7
- package/dist/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/txUtils.scrypt +12 -12
- package/dist/artifacts/scrypt-ts-opcat/assets/smart-contract/types/structs.scrypt +8 -8
- package/dist/artifacts/types.json +2 -2
- package/dist/artifacts/types.scrypt +2 -2
- package/dist/artifacts/utils/ownerUtils.json +14 -14
- package/dist/artifacts/utils/ownerUtils.scrypt +3 -3
- package/dist/artifacts/utils/safeMath.json +14 -14
- package/dist/artifacts/utils/safeMath.scrypt +1 -1
- package/dist/cjs/contracts/cat20/cat20.js +6 -6
- package/dist/cjs/contracts/cat20/cat20.js.map +1 -1
- package/dist/cjs/contracts/cat20/cat20Admin.js +6 -6
- package/dist/cjs/contracts/cat20/cat20Admin.js.map +1 -1
- package/dist/cjs/contracts/cat20/cat20GuardStateLib.js +10 -10
- package/dist/cjs/contracts/cat20/cat20GuardStateLib.js.map +1 -1
- package/dist/cjs/contracts/cat20/cat20Guard_12_12_2.js +29 -29
- package/dist/cjs/contracts/cat20/cat20Guard_12_12_2.js.map +1 -1
- package/dist/cjs/contracts/cat20/cat20Guard_12_12_4.js +29 -29
- package/dist/cjs/contracts/cat20/cat20Guard_12_12_4.js.map +1 -1
- package/dist/cjs/contracts/cat20/cat20Guard_6_6_2.js +29 -29
- package/dist/cjs/contracts/cat20/cat20Guard_6_6_2.js.map +1 -1
- package/dist/cjs/contracts/cat20/cat20Guard_6_6_4.js +29 -29
- package/dist/cjs/contracts/cat20/cat20Guard_6_6_4.js.map +1 -1
- package/dist/cjs/contracts/cat20/cat20StateLib.js +2 -2
- package/dist/cjs/contracts/cat20/cat20StateLib.js.map +1 -1
- package/dist/cjs/contracts/cat20/minters/cat20ClosedMinter.js +7 -7
- package/dist/cjs/contracts/cat20/minters/cat20ClosedMinter.js.map +1 -1
- package/dist/cjs/contracts/cat20/minters/cat20OpenMinter.js +6 -6
- package/dist/cjs/contracts/cat20/minters/cat20OpenMinter.js.map +1 -1
- package/dist/cjs/contracts/cat721/cat721.js +8 -8
- package/dist/cjs/contracts/cat721/cat721.js.map +1 -1
- package/dist/cjs/contracts/cat721/cat721GuardStateLib.js +8 -8
- package/dist/cjs/contracts/cat721/cat721GuardStateLib.js.map +1 -1
- package/dist/cjs/contracts/cat721/cat721Guard_12_12_2.js +24 -24
- package/dist/cjs/contracts/cat721/cat721Guard_12_12_2.js.map +1 -1
- package/dist/cjs/contracts/cat721/cat721Guard_12_12_4.js +24 -24
- package/dist/cjs/contracts/cat721/cat721Guard_12_12_4.js.map +1 -1
- package/dist/cjs/contracts/cat721/cat721Guard_6_6_2.js +24 -24
- package/dist/cjs/contracts/cat721/cat721Guard_6_6_2.js.map +1 -1
- package/dist/cjs/contracts/cat721/cat721Guard_6_6_4.js +24 -24
- package/dist/cjs/contracts/cat721/cat721Guard_6_6_4.js.map +1 -1
- package/dist/cjs/contracts/cat721/cat721StateLib.js +2 -2
- package/dist/cjs/contracts/cat721/cat721StateLib.js.map +1 -1
- package/dist/cjs/contracts/cat721/minters/cat721ClosedMinter.js +9 -9
- package/dist/cjs/contracts/cat721/minters/cat721ClosedMinter.js.map +1 -1
- package/dist/cjs/contracts/cat721/minters/cat721OpenMinter.js +14 -14
- package/dist/cjs/contracts/cat721/minters/cat721OpenMinter.js.map +1 -1
- package/dist/cjs/contracts/cat721/minters/cat721OpenMinterMerkleTree.js +4 -4
- package/dist/cjs/contracts/cat721/minters/cat721OpenMinterMerkleTree.js.map +1 -1
- package/dist/cjs/contracts/index.js +32 -32
- package/dist/cjs/contracts/index.js.map +1 -1
- package/dist/cjs/contracts/utils/ownerUtils.js +4 -4
- package/dist/cjs/contracts/utils/ownerUtils.js.map +1 -1
- package/dist/cjs/features/cat20/admin/burnByAdmin.js +32 -40
- package/dist/cjs/features/cat20/admin/burnByAdmin.js.map +1 -1
- package/dist/cjs/features/cat20/admin/transferOwnership.js +9 -14
- package/dist/cjs/features/cat20/admin/transferOwnership.js.map +1 -1
- package/dist/cjs/features/cat20/burn/burn.js +28 -26
- package/dist/cjs/features/cat20/burn/burn.js.map +1 -1
- package/dist/cjs/features/cat20/deploy/closedMinter.js +38 -30
- package/dist/cjs/features/cat20/deploy/closedMinter.js.map +1 -1
- package/dist/cjs/features/cat20/deploy/openMinter.js +39 -28
- package/dist/cjs/features/cat20/deploy/openMinter.js.map +1 -1
- package/dist/cjs/features/cat20/index.js +34 -31
- package/dist/cjs/features/cat20/index.js.map +1 -1
- package/dist/cjs/features/cat20/mint/closedMinter.js +21 -24
- package/dist/cjs/features/cat20/mint/closedMinter.js.map +1 -1
- package/dist/cjs/features/cat20/mint/openMinter.js +11 -11
- package/dist/cjs/features/cat20/mint/openMinter.js.map +1 -1
- package/dist/cjs/features/cat20/send/contractSend.js +39 -41
- package/dist/cjs/features/cat20/send/contractSend.js.map +1 -1
- package/dist/cjs/features/cat20/send/mergeSend.js +38 -0
- package/dist/cjs/features/cat20/send/mergeSend.js.map +1 -0
- package/dist/cjs/features/cat20/send/singleSend.js +34 -35
- package/dist/cjs/features/cat20/send/singleSend.js.map +1 -1
- package/dist/cjs/features/cat721/burn/burn.js +24 -25
- package/dist/cjs/features/cat721/burn/burn.js.map +1 -1
- package/dist/cjs/features/cat721/deploy/cat721ClosedMinter.js +28 -20
- package/dist/cjs/features/cat721/deploy/cat721ClosedMinter.js.map +1 -1
- package/dist/cjs/features/cat721/deploy/cat721OpenMinter.js +27 -19
- package/dist/cjs/features/cat721/deploy/cat721OpenMinter.js.map +1 -1
- package/dist/cjs/features/cat721/index.js +19 -19
- package/dist/cjs/features/cat721/index.js.map +1 -1
- package/dist/cjs/features/cat721/mint/cat721ClosedMinter.js +16 -16
- package/dist/cjs/features/cat721/mint/cat721ClosedMinter.js.map +1 -1
- package/dist/cjs/features/cat721/mint/cat721OpenMinter.js +25 -22
- package/dist/cjs/features/cat721/mint/cat721OpenMinter.js.map +1 -1
- package/dist/cjs/features/cat721/mint/nft.js +8 -7
- package/dist/cjs/features/cat721/mint/nft.js.map +1 -1
- package/dist/cjs/features/cat721/send/singleSend.js +30 -31
- package/dist/cjs/features/cat721/send/singleSend.js.map +1 -1
- package/dist/cjs/features/index.js +13 -13
- package/dist/cjs/features/index.js.map +1 -1
- package/dist/cjs/index.js +26 -26
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/lib/cat721OPenMinterMerkleTreeData.js +5 -5
- package/dist/cjs/lib/cat721OPenMinterMerkleTreeData.js.map +1 -1
- package/dist/cjs/lib/index.js +3 -3
- package/dist/cjs/lib/index.js.map +1 -1
- package/dist/cjs/lib/metadata.js +1 -14
- package/dist/cjs/lib/metadata.js.map +1 -1
- package/dist/cjs/typeConstants.js +1 -0
- package/dist/cjs/typeConstants.js.map +1 -1
- package/dist/cjs/utils/contractPeripheral.js +111 -111
- package/dist/cjs/utils/contractPeripheral.js.map +1 -1
- package/dist/cjs/utils/index.js +42 -3
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/cjs/utils/loadAllArtifacts.js +44 -44
- package/dist/cjs/utils/loadAllArtifacts.js.map +1 -1
- package/dist/esm/contracts/cat20/cat20.js +3 -3
- package/dist/esm/contracts/cat20/cat20.js.map +1 -1
- package/dist/esm/contracts/cat20/cat20Admin.js +2 -2
- package/dist/esm/contracts/cat20/cat20Admin.js.map +1 -1
- package/dist/esm/contracts/cat20/cat20GuardStateLib.js +1 -1
- package/dist/esm/contracts/cat20/cat20GuardStateLib.js.map +1 -1
- package/dist/esm/contracts/cat20/cat20Guard_12_12_2.js +5 -5
- package/dist/esm/contracts/cat20/cat20Guard_12_12_2.js.map +1 -1
- package/dist/esm/contracts/cat20/cat20Guard_12_12_4.js +5 -5
- package/dist/esm/contracts/cat20/cat20Guard_12_12_4.js.map +1 -1
- package/dist/esm/contracts/cat20/cat20Guard_6_6_2.js +5 -5
- package/dist/esm/contracts/cat20/cat20Guard_6_6_2.js.map +1 -1
- package/dist/esm/contracts/cat20/cat20Guard_6_6_4.js +5 -5
- package/dist/esm/contracts/cat20/cat20Guard_6_6_4.js.map +1 -1
- package/dist/esm/contracts/cat20/cat20StateLib.js +1 -1
- package/dist/esm/contracts/cat20/cat20StateLib.js.map +1 -1
- package/dist/esm/contracts/cat20/minters/cat20ClosedMinter.js +3 -3
- package/dist/esm/contracts/cat20/minters/cat20ClosedMinter.js.map +1 -1
- package/dist/esm/contracts/cat20/minters/cat20OpenMinter.js +3 -3
- package/dist/esm/contracts/cat20/minters/cat20OpenMinter.js.map +1 -1
- package/dist/esm/contracts/cat721/cat721.js +4 -4
- package/dist/esm/contracts/cat721/cat721.js.map +1 -1
- package/dist/esm/contracts/cat721/cat721GuardStateLib.js +1 -1
- package/dist/esm/contracts/cat721/cat721GuardStateLib.js.map +1 -1
- package/dist/esm/contracts/cat721/cat721Guard_12_12_2.js +4 -4
- package/dist/esm/contracts/cat721/cat721Guard_12_12_2.js.map +1 -1
- package/dist/esm/contracts/cat721/cat721Guard_12_12_4.js +4 -4
- package/dist/esm/contracts/cat721/cat721Guard_12_12_4.js.map +1 -1
- package/dist/esm/contracts/cat721/cat721Guard_6_6_2.js +4 -4
- package/dist/esm/contracts/cat721/cat721Guard_6_6_2.js.map +1 -1
- package/dist/esm/contracts/cat721/cat721Guard_6_6_4.js +4 -4
- package/dist/esm/contracts/cat721/cat721Guard_6_6_4.js.map +1 -1
- package/dist/esm/contracts/cat721/cat721StateLib.js +1 -1
- package/dist/esm/contracts/cat721/cat721StateLib.js.map +1 -1
- package/dist/esm/contracts/cat721/minters/cat721ClosedMinter.js +4 -4
- package/dist/esm/contracts/cat721/minters/cat721ClosedMinter.js.map +1 -1
- package/dist/esm/contracts/cat721/minters/cat721OpenMinter.js +6 -6
- package/dist/esm/contracts/cat721/minters/cat721OpenMinter.js.map +1 -1
- package/dist/esm/contracts/cat721/minters/cat721OpenMinterMerkleTree.js +2 -2
- package/dist/esm/contracts/cat721/minters/cat721OpenMinterMerkleTree.js.map +1 -1
- package/dist/esm/contracts/index.js +32 -32
- package/dist/esm/contracts/index.js.map +1 -1
- package/dist/esm/contracts/utils/ownerUtils.js +1 -1
- package/dist/esm/contracts/utils/ownerUtils.js.map +1 -1
- package/dist/esm/features/cat20/admin/burnByAdmin.js +14 -21
- package/dist/esm/features/cat20/admin/burnByAdmin.js.map +1 -1
- package/dist/esm/features/cat20/admin/transferOwnership.js +8 -12
- package/dist/esm/features/cat20/admin/transferOwnership.js.map +1 -1
- package/dist/esm/features/cat20/burn/burn.js +15 -12
- package/dist/esm/features/cat20/burn/burn.js.map +1 -1
- package/dist/esm/features/cat20/deploy/closedMinter.js +26 -17
- package/dist/esm/features/cat20/deploy/closedMinter.js.map +1 -1
- package/dist/esm/features/cat20/deploy/openMinter.js +26 -14
- package/dist/esm/features/cat20/deploy/openMinter.js.map +1 -1
- package/dist/esm/features/cat20/index.js +13 -12
- package/dist/esm/features/cat20/index.js.map +1 -1
- package/dist/esm/features/cat20/mint/closedMinter.js +11 -13
- package/dist/esm/features/cat20/mint/closedMinter.js.map +1 -1
- package/dist/esm/features/cat20/mint/openMinter.js +8 -7
- package/dist/esm/features/cat20/mint/openMinter.js.map +1 -1
- package/dist/esm/features/cat20/send/contractSend.js +11 -12
- package/dist/esm/features/cat20/send/contractSend.js.map +1 -1
- package/dist/esm/features/cat20/send/mergeSend.js +34 -0
- package/dist/esm/features/cat20/send/mergeSend.js.map +1 -0
- package/dist/esm/features/cat20/send/singleSend.js +11 -11
- package/dist/esm/features/cat20/send/singleSend.js.map +1 -1
- package/dist/esm/features/cat721/burn/burn.js +11 -11
- package/dist/esm/features/cat721/burn/burn.js.map +1 -1
- package/dist/esm/features/cat721/deploy/cat721ClosedMinter.js +21 -12
- package/dist/esm/features/cat721/deploy/cat721ClosedMinter.js.map +1 -1
- package/dist/esm/features/cat721/deploy/cat721OpenMinter.js +21 -12
- package/dist/esm/features/cat721/deploy/cat721OpenMinter.js.map +1 -1
- package/dist/esm/features/cat721/index.js +8 -8
- package/dist/esm/features/cat721/index.js.map +1 -1
- package/dist/esm/features/cat721/mint/cat721ClosedMinter.js +10 -9
- package/dist/esm/features/cat721/mint/cat721ClosedMinter.js.map +1 -1
- package/dist/esm/features/cat721/mint/cat721OpenMinter.js +17 -13
- package/dist/esm/features/cat721/mint/cat721OpenMinter.js.map +1 -1
- package/dist/esm/features/cat721/mint/nft.js +7 -5
- package/dist/esm/features/cat721/mint/nft.js.map +1 -1
- package/dist/esm/features/cat721/send/singleSend.js +8 -8
- package/dist/esm/features/cat721/send/singleSend.js.map +1 -1
- package/dist/esm/features/index.js +5 -5
- package/dist/esm/features/index.js.map +1 -1
- package/dist/esm/index.js +10 -10
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib/cat721OPenMinterMerkleTreeData.js +1 -1
- package/dist/esm/lib/cat721OPenMinterMerkleTreeData.js.map +1 -1
- package/dist/esm/lib/index.js +3 -3
- package/dist/esm/lib/index.js.map +1 -1
- package/dist/esm/lib/metadata.js +1 -14
- package/dist/esm/lib/metadata.js.map +1 -1
- package/dist/esm/typeConstants.js +1 -0
- package/dist/esm/typeConstants.js.map +1 -1
- package/dist/esm/utils/contractPeripheral.js +21 -21
- package/dist/esm/utils/contractPeripheral.js.map +1 -1
- package/dist/esm/utils/index.js +39 -2
- package/dist/esm/utils/index.js.map +1 -1
- package/dist/esm/utils/loadAllArtifacts.js +44 -44
- package/dist/esm/utils/loadAllArtifacts.js.map +1 -1
- package/dist/types/contracts/cat20/cat20.d.ts +3 -3
- package/dist/types/contracts/cat20/cat20.d.ts.map +1 -1
- package/dist/types/contracts/cat20/cat20Admin.d.ts +1 -1
- package/dist/types/contracts/cat20/cat20Admin.d.ts.map +1 -1
- package/dist/types/contracts/cat20/cat20GuardStateLib.d.ts +2 -2
- package/dist/types/contracts/cat20/cat20GuardStateLib.d.ts.map +1 -1
- package/dist/types/contracts/cat20/cat20Guard_12_12_2.d.ts +3 -3
- package/dist/types/contracts/cat20/cat20Guard_12_12_2.d.ts.map +1 -1
- package/dist/types/contracts/cat20/cat20Guard_12_12_4.d.ts +3 -3
- package/dist/types/contracts/cat20/cat20Guard_12_12_4.d.ts.map +1 -1
- package/dist/types/contracts/cat20/cat20Guard_6_6_2.d.ts +3 -3
- package/dist/types/contracts/cat20/cat20Guard_6_6_2.d.ts.map +1 -1
- package/dist/types/contracts/cat20/cat20Guard_6_6_4.d.ts +3 -3
- package/dist/types/contracts/cat20/cat20Guard_6_6_4.d.ts.map +1 -1
- package/dist/types/contracts/cat20/cat20StateLib.d.ts +1 -1
- package/dist/types/contracts/cat20/cat20StateLib.d.ts.map +1 -1
- package/dist/types/contracts/cat20/minters/cat20ClosedMinter.d.ts +1 -1
- package/dist/types/contracts/cat20/minters/cat20ClosedMinter.d.ts.map +1 -1
- package/dist/types/contracts/cat20/minters/cat20ClosedMinterMetadata.d.ts +1 -1
- package/dist/types/contracts/cat20/minters/cat20ClosedMinterMetadata.d.ts.map +1 -1
- package/dist/types/contracts/cat20/minters/cat20OpenMinter.d.ts +1 -1
- package/dist/types/contracts/cat20/minters/cat20OpenMinter.d.ts.map +1 -1
- package/dist/types/contracts/cat20/minters/cat20OpenMinterMetadata.d.ts +1 -1
- package/dist/types/contracts/cat20/minters/cat20OpenMinterMetadata.d.ts.map +1 -1
- package/dist/types/contracts/cat20/types.d.ts +1 -1
- package/dist/types/contracts/cat20/types.d.ts.map +1 -1
- package/dist/types/contracts/cat721/cat721.d.ts +3 -3
- package/dist/types/contracts/cat721/cat721.d.ts.map +1 -1
- package/dist/types/contracts/cat721/cat721GuardStateLib.d.ts +2 -2
- package/dist/types/contracts/cat721/cat721GuardStateLib.d.ts.map +1 -1
- package/dist/types/contracts/cat721/cat721Guard_12_12_2.d.ts +2 -2
- package/dist/types/contracts/cat721/cat721Guard_12_12_2.d.ts.map +1 -1
- package/dist/types/contracts/cat721/cat721Guard_12_12_4.d.ts +2 -2
- package/dist/types/contracts/cat721/cat721Guard_12_12_4.d.ts.map +1 -1
- package/dist/types/contracts/cat721/cat721Guard_6_6_2.d.ts +2 -2
- package/dist/types/contracts/cat721/cat721Guard_6_6_2.d.ts.map +1 -1
- package/dist/types/contracts/cat721/cat721Guard_6_6_4.d.ts +2 -2
- package/dist/types/contracts/cat721/cat721Guard_6_6_4.d.ts.map +1 -1
- package/dist/types/contracts/cat721/cat721StateLib.d.ts +1 -1
- package/dist/types/contracts/cat721/cat721StateLib.d.ts.map +1 -1
- package/dist/types/contracts/cat721/minters/cat721ClosedMinter.d.ts +1 -1
- package/dist/types/contracts/cat721/minters/cat721ClosedMinter.d.ts.map +1 -1
- package/dist/types/contracts/cat721/minters/cat721ClosedMinterMetadata.d.ts +1 -1
- package/dist/types/contracts/cat721/minters/cat721ClosedMinterMetadata.d.ts.map +1 -1
- package/dist/types/contracts/cat721/minters/cat721OpenMinter.d.ts +2 -2
- package/dist/types/contracts/cat721/minters/cat721OpenMinter.d.ts.map +1 -1
- package/dist/types/contracts/cat721/minters/cat721OpenMinterMerkleTree.d.ts +1 -1
- package/dist/types/contracts/cat721/minters/cat721OpenMinterMerkleTree.d.ts.map +1 -1
- package/dist/types/contracts/cat721/minters/cat721OpenMinterMetadata.d.ts +1 -1
- package/dist/types/contracts/cat721/minters/cat721OpenMinterMetadata.d.ts.map +1 -1
- package/dist/types/contracts/cat721/types.d.ts +1 -1
- package/dist/types/contracts/cat721/types.d.ts.map +1 -1
- package/dist/types/contracts/index.d.ts +40 -40
- package/dist/types/contracts/index.d.ts.map +1 -1
- package/dist/types/contracts/types.d.ts +1 -1
- package/dist/types/contracts/types.d.ts.map +1 -1
- package/dist/types/features/cat20/admin/burnByAdmin.d.ts +12 -3
- package/dist/types/features/cat20/admin/burnByAdmin.d.ts.map +1 -1
- package/dist/types/features/cat20/admin/transferOwnership.d.ts +8 -3
- package/dist/types/features/cat20/admin/transferOwnership.d.ts.map +1 -1
- package/dist/types/features/cat20/burn/burn.d.ts +9 -2
- package/dist/types/features/cat20/burn/burn.d.ts.map +1 -1
- package/dist/types/features/cat20/deploy/closedMinter.d.ts +12 -5
- package/dist/types/features/cat20/deploy/closedMinter.d.ts.map +1 -1
- package/dist/types/features/cat20/deploy/openMinter.d.ts +14 -6
- package/dist/types/features/cat20/deploy/openMinter.d.ts.map +1 -1
- package/dist/types/features/cat20/index.d.ts +13 -12
- package/dist/types/features/cat20/index.d.ts.map +1 -1
- package/dist/types/features/cat20/mint/closedMinter.d.ts +9 -3
- package/dist/types/features/cat20/mint/closedMinter.d.ts.map +1 -1
- package/dist/types/features/cat20/mint/openMinter.d.ts +8 -3
- package/dist/types/features/cat20/mint/openMinter.d.ts.map +1 -1
- package/dist/types/features/cat20/send/contractSend.d.ts +16 -4
- package/dist/types/features/cat20/send/contractSend.d.ts.map +1 -1
- package/dist/types/features/cat20/send/mergeSend.d.ts +24 -0
- package/dist/types/features/cat20/send/mergeSend.d.ts.map +1 -0
- package/dist/types/features/cat20/send/singleSend.d.ts +17 -5
- package/dist/types/features/cat20/send/singleSend.d.ts.map +1 -1
- package/dist/types/features/cat721/burn/burn.d.ts +9 -2
- package/dist/types/features/cat721/burn/burn.d.ts.map +1 -1
- package/dist/types/features/cat721/deploy/cat721ClosedMinter.d.ts +17 -5
- package/dist/types/features/cat721/deploy/cat721ClosedMinter.d.ts.map +1 -1
- package/dist/types/features/cat721/deploy/cat721OpenMinter.d.ts +18 -6
- package/dist/types/features/cat721/deploy/cat721OpenMinter.d.ts.map +1 -1
- package/dist/types/features/cat721/index.d.ts +8 -8
- package/dist/types/features/cat721/index.d.ts.map +1 -1
- package/dist/types/features/cat721/mint/cat721ClosedMinter.d.ts +15 -4
- package/dist/types/features/cat721/mint/cat721ClosedMinter.d.ts.map +1 -1
- package/dist/types/features/cat721/mint/cat721OpenMinter.d.ts +15 -4
- package/dist/types/features/cat721/mint/cat721OpenMinter.d.ts.map +1 -1
- package/dist/types/features/cat721/mint/nft.d.ts +15 -5
- package/dist/types/features/cat721/mint/nft.d.ts.map +1 -1
- package/dist/types/features/cat721/send/singleSend.d.ts +12 -4
- package/dist/types/features/cat721/send/singleSend.d.ts.map +1 -1
- package/dist/types/features/index.d.ts +5 -5
- package/dist/types/features/index.d.ts.map +1 -1
- package/dist/types/index.d.ts +9 -9
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/lib/cat721OPenMinterMerkleTreeData.d.ts +1 -1
- package/dist/types/lib/cat721OPenMinterMerkleTreeData.d.ts.map +1 -1
- package/dist/types/lib/index.d.ts +2 -2
- package/dist/types/lib/index.d.ts.map +1 -1
- package/dist/types/lib/metadata.d.ts +2 -2
- package/dist/types/lib/metadata.d.ts.map +1 -1
- package/dist/types/typeConstants.d.ts +2 -1
- package/dist/types/typeConstants.d.ts.map +1 -1
- package/dist/types/utils/contractPeripheral.d.ts +7 -7
- package/dist/types/utils/contractPeripheral.d.ts.map +1 -1
- package/dist/types/utils/index.d.ts +24 -1
- package/dist/types/utils/index.d.ts.map +1 -1
- package/package.json +7 -6
- package/scrypt.index.json +5 -5
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.deployClosedMinterCollection = void 0;
|
|
4
4
|
const scrypt_ts_opcat_1 = require("@opcat-labs/scrypt-ts-opcat");
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
const
|
|
5
|
+
const index_js_1 = require("../../../utils/index.js");
|
|
6
|
+
const check_js_1 = require("../../../utils/check.js");
|
|
7
|
+
const contractPeripheral_js_1 = require("../../../utils/contractPeripheral.js");
|
|
8
|
+
const constants_js_1 = require("../../../contracts/constants.js");
|
|
9
|
+
const typeConstants_js_1 = require("../../../typeConstants.js");
|
|
10
|
+
const cat721_js_1 = require("../../../contracts/cat721/cat721.js");
|
|
11
|
+
const metadata_js_1 = require("../../../lib/metadata.js");
|
|
12
12
|
/**
|
|
13
13
|
* Deploys a CAT721 closed minter and its metadata using `CAT721ClosedMinter` contract
|
|
14
14
|
* Only the token issuer can mint token
|
|
@@ -21,34 +21,42 @@ const metadata_1 = require("../../../lib/metadata");
|
|
|
21
21
|
* @param changeAddress the address for the change output
|
|
22
22
|
* @returns the collection info and the PSBTs for the genesis and deploy transactions
|
|
23
23
|
*/
|
|
24
|
-
async function
|
|
24
|
+
exports.deployClosedMinterCollection = (0, index_js_1.createFeatureWithDryRun)(async function (signer, provider, deployInfo, feeRate, changeAddress) {
|
|
25
25
|
const address = await signer.getAddress();
|
|
26
26
|
changeAddress = changeAddress || address;
|
|
27
27
|
let utxos = await provider.getUtxos(address);
|
|
28
|
-
utxos = (0,
|
|
29
|
-
(0,
|
|
28
|
+
utxos = (0, index_js_1.filterFeeUtxos)(utxos).slice(0, constants_js_1.TX_INPUT_COUNT_MAX);
|
|
29
|
+
(0, check_js_1.checkState)(utxos.length > 0, 'Insufficient satoshis');
|
|
30
30
|
const { metadata } = deployInfo;
|
|
31
|
+
// Create Genesis contract instance and set metadata in its data field
|
|
32
|
+
const genesis = new scrypt_ts_opcat_1.Genesis();
|
|
33
|
+
genesis.data = metadata_js_1.MetadataSerializer.serialize('Collection', deployInfo);
|
|
31
34
|
const genesisPsbt = new scrypt_ts_opcat_1.ExtPsbt({ network: await provider.getNetwork() })
|
|
32
35
|
.spendUTXO(utxos)
|
|
33
|
-
.
|
|
36
|
+
.addContractOutput(genesis, typeConstants_js_1.Postage.GENESIS_POSTAGE)
|
|
37
|
+
.change(changeAddress, feeRate)
|
|
34
38
|
.seal();
|
|
35
39
|
const signedGenesisPsbt = await signer.signPsbt(genesisPsbt.toHex(), genesisPsbt.psbtOptions());
|
|
36
40
|
genesisPsbt.combine(scrypt_ts_opcat_1.ExtPsbt.fromHex(signedGenesisPsbt));
|
|
37
41
|
genesisPsbt.finalizeAllInputs();
|
|
38
|
-
const
|
|
39
|
-
const
|
|
40
|
-
const
|
|
41
|
-
const
|
|
42
|
-
const
|
|
42
|
+
const genesisUtxo = genesisPsbt.getUtxo(0);
|
|
43
|
+
const collectionId = `${genesisUtxo.txId}_${genesisUtxo.outputIndex}`;
|
|
44
|
+
const cat721ClosedMinter = contractPeripheral_js_1.CAT721ClosedMinterPeripheral.createMinter(collectionId, metadata);
|
|
45
|
+
const minterScriptHash = contractPeripheral_js_1.ContractPeripheral.scriptHash(cat721ClosedMinter);
|
|
46
|
+
const cat721 = new cat721_js_1.CAT721(minterScriptHash, contractPeripheral_js_1.CAT721GuardPeripheral.getGuardVariantScriptHashes());
|
|
47
|
+
const nftScriptHash = contractPeripheral_js_1.ContractPeripheral.scriptHash(cat721);
|
|
43
48
|
const minterState = {
|
|
44
49
|
nftScriptHash,
|
|
45
50
|
maxLocalId: metadata.max,
|
|
46
51
|
nextLocalId: 0n,
|
|
47
52
|
};
|
|
48
53
|
cat721ClosedMinter.state = minterState;
|
|
54
|
+
// Bind Genesis contract to UTXO
|
|
55
|
+
genesis.bindToUtxo(genesisPsbt.getUtxo(0));
|
|
49
56
|
const deployPsbt = new scrypt_ts_opcat_1.ExtPsbt({ network: await provider.getNetwork() })
|
|
57
|
+
.addContractInput(genesis, (0, scrypt_ts_opcat_1.genesisCheckDeploy)())
|
|
50
58
|
.spendUTXO(genesisPsbt.getChangeUTXO())
|
|
51
|
-
.addContractOutput(cat721ClosedMinter,
|
|
59
|
+
.addContractOutput(cat721ClosedMinter, typeConstants_js_1.Postage.MINTER_POSTAGE)
|
|
52
60
|
.change(changeAddress, feeRate)
|
|
53
61
|
.seal();
|
|
54
62
|
const signedDeployPsbt = await signer.signPsbt(deployPsbt.toHex(), deployPsbt.psbtOptions());
|
|
@@ -58,9 +66,10 @@ async function deployClosedMinterCollection(signer, provider, deployInfo, feeRat
|
|
|
58
66
|
(0, scrypt_ts_opcat_1.markSpent)(provider, genesisPsbt.extractTransaction());
|
|
59
67
|
await provider.broadcast(deployPsbt.extractTransaction().toHex());
|
|
60
68
|
(0, scrypt_ts_opcat_1.markSpent)(provider, deployPsbt.extractTransaction());
|
|
69
|
+
(0, scrypt_ts_opcat_1.addChangeUtxoToProvider)(provider, deployPsbt);
|
|
61
70
|
const minterScript = cat721ClosedMinter.lockingScript.toHex();
|
|
62
71
|
let minterUtxo = deployPsbt.getUtxo(0);
|
|
63
|
-
minterUtxo = (0,
|
|
72
|
+
minterUtxo = (0, index_js_1.normalizeUtxoScripts)([minterUtxo], minterScript)[0];
|
|
64
73
|
return {
|
|
65
74
|
collectionId: collectionId,
|
|
66
75
|
minterScriptHash,
|
|
@@ -72,6 +81,5 @@ async function deployClosedMinterCollection(signer, provider, deployInfo, feeRat
|
|
|
72
81
|
deployPsbt,
|
|
73
82
|
minterUtxo: minterUtxo,
|
|
74
83
|
};
|
|
75
|
-
}
|
|
76
|
-
exports.deployClosedMinterCollection = deployClosedMinterCollection;
|
|
84
|
+
});
|
|
77
85
|
//# sourceMappingURL=cat721ClosedMinter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cat721ClosedMinter.js","sourceRoot":"","sources":["../../../../../src/features/cat721/deploy/cat721ClosedMinter.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"cat721ClosedMinter.js","sourceRoot":"","sources":["../../../../../src/features/cat721/deploy/cat721ClosedMinter.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.deployOpenMinterCollection = void 0;
|
|
4
4
|
const scrypt_ts_opcat_1 = require("@opcat-labs/scrypt-ts-opcat");
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
const
|
|
5
|
+
const metadata_js_1 = require("../../../lib/metadata.js");
|
|
6
|
+
const check_js_1 = require("../../../utils/check.js");
|
|
7
|
+
const cat721_js_1 = require("../../../contracts/cat721/cat721.js");
|
|
8
|
+
const contractPeripheral_js_1 = require("../../../utils/contractPeripheral.js");
|
|
9
|
+
const constants_js_1 = require("../../../contracts/constants.js");
|
|
10
|
+
const typeConstants_js_1 = require("../../../typeConstants.js");
|
|
11
|
+
const index_js_1 = require("../../../utils/index.js");
|
|
12
12
|
/**
|
|
13
13
|
* Deploys a CAT721 open minter and its metadata using `CAT721OpenMinter` contract
|
|
14
14
|
* @category Feature
|
|
@@ -20,34 +20,42 @@ const utils_1 = require("../../../utils");
|
|
|
20
20
|
* @param changeAddress the address for the change output
|
|
21
21
|
* @returns the collection info and the PSBTs for the genesis and deploy transactions
|
|
22
22
|
*/
|
|
23
|
-
async function
|
|
23
|
+
exports.deployOpenMinterCollection = (0, index_js_1.createFeatureWithDryRun)(async function (signer, provider, deployInfo, initMerkleRoot, feeRate, changeAddress) {
|
|
24
24
|
const address = await signer.getAddress();
|
|
25
25
|
changeAddress = changeAddress || address;
|
|
26
26
|
let utxos = await provider.getUtxos(address);
|
|
27
|
-
utxos = (0,
|
|
28
|
-
(0,
|
|
27
|
+
utxos = (0, index_js_1.filterFeeUtxos)(utxos).slice(0, constants_js_1.TX_INPUT_COUNT_MAX);
|
|
28
|
+
(0, check_js_1.checkState)(utxos.length > 0, 'Insufficient satoshis');
|
|
29
29
|
const { metadata } = deployInfo;
|
|
30
|
+
// Create Genesis contract instance and set metadata in its data field
|
|
31
|
+
const genesis = new scrypt_ts_opcat_1.Genesis();
|
|
32
|
+
genesis.data = metadata_js_1.MetadataSerializer.serialize('Collection', deployInfo);
|
|
30
33
|
const genesisPsbt = new scrypt_ts_opcat_1.ExtPsbt({ network: await provider.getNetwork() })
|
|
31
34
|
.spendUTXO(utxos)
|
|
32
|
-
.
|
|
35
|
+
.addContractOutput(genesis, typeConstants_js_1.Postage.GENESIS_POSTAGE)
|
|
36
|
+
.change(changeAddress, feeRate)
|
|
33
37
|
.seal();
|
|
34
38
|
const signedGenesisPsbt = await signer.signPsbt(genesisPsbt.toHex(), genesisPsbt.psbtOptions());
|
|
35
39
|
genesisPsbt.combine(scrypt_ts_opcat_1.ExtPsbt.fromHex(signedGenesisPsbt));
|
|
36
40
|
genesisPsbt.finalizeAllInputs();
|
|
37
|
-
const
|
|
38
|
-
const
|
|
39
|
-
const
|
|
40
|
-
const
|
|
41
|
-
const
|
|
41
|
+
const genesisUtxo = genesisPsbt.getUtxo(0);
|
|
42
|
+
const collectionId = `${genesisUtxo.txId}_${genesisUtxo.outputIndex}`;
|
|
43
|
+
const cat721OpenMinter = contractPeripheral_js_1.CAT721OpenMinterPeripheral.createMinter(collectionId, metadata);
|
|
44
|
+
const minterScriptHash = contractPeripheral_js_1.ContractPeripheral.scriptHash(cat721OpenMinter);
|
|
45
|
+
const cat721 = new cat721_js_1.CAT721(minterScriptHash, contractPeripheral_js_1.CAT721GuardPeripheral.getGuardVariantScriptHashes());
|
|
46
|
+
const nftScriptHash = contractPeripheral_js_1.ContractPeripheral.scriptHash(cat721);
|
|
42
47
|
const minterState = {
|
|
43
48
|
nftScriptHash,
|
|
44
49
|
merkleRoot: initMerkleRoot,
|
|
45
50
|
nextLocalId: 0n,
|
|
46
51
|
};
|
|
47
52
|
cat721OpenMinter.state = minterState;
|
|
53
|
+
// Bind Genesis contract to UTXO
|
|
54
|
+
genesis.bindToUtxo(genesisPsbt.getUtxo(0));
|
|
48
55
|
const deployPsbt = new scrypt_ts_opcat_1.ExtPsbt({ network: await provider.getNetwork() })
|
|
56
|
+
.addContractInput(genesis, (0, scrypt_ts_opcat_1.genesisCheckDeploy)())
|
|
49
57
|
.spendUTXO(genesisPsbt.getChangeUTXO())
|
|
50
|
-
.addContractOutput(cat721OpenMinter,
|
|
58
|
+
.addContractOutput(cat721OpenMinter, typeConstants_js_1.Postage.MINTER_POSTAGE)
|
|
51
59
|
.change(changeAddress, feeRate)
|
|
52
60
|
.seal();
|
|
53
61
|
const signedDeployPsbt = await signer.signPsbt(deployPsbt.toHex(), deployPsbt.psbtOptions());
|
|
@@ -57,6 +65,7 @@ async function deployOpenMinterCollection(signer, provider, deployInfo, initMerk
|
|
|
57
65
|
(0, scrypt_ts_opcat_1.markSpent)(provider, genesisPsbt.extractTransaction());
|
|
58
66
|
await provider.broadcast(deployPsbt.extractTransaction().toHex());
|
|
59
67
|
(0, scrypt_ts_opcat_1.markSpent)(provider, deployPsbt.extractTransaction());
|
|
68
|
+
(0, scrypt_ts_opcat_1.addChangeUtxoToProvider)(provider, deployPsbt);
|
|
60
69
|
return {
|
|
61
70
|
collectionId: collectionId,
|
|
62
71
|
minterScriptHash,
|
|
@@ -68,6 +77,5 @@ async function deployOpenMinterCollection(signer, provider, deployInfo, initMerk
|
|
|
68
77
|
deployPsbt,
|
|
69
78
|
minter: cat721OpenMinter,
|
|
70
79
|
};
|
|
71
|
-
}
|
|
72
|
-
exports.deployOpenMinterCollection = deployOpenMinterCollection;
|
|
80
|
+
});
|
|
73
81
|
//# sourceMappingURL=cat721OpenMinter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cat721OpenMinter.js","sourceRoot":"","sources":["../../../../../src/features/cat721/deploy/cat721OpenMinter.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"cat721OpenMinter.js","sourceRoot":"","sources":["../../../../../src/features/cat721/deploy/cat721OpenMinter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,30 +1,30 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.mintNft = exports.deployNft = exports.mintClosedMinterNft = exports.mintOpenMinterNft = exports.deployClosedMinterCollection = exports.deployOpenMinterCollection = exports.burnNft = exports.singleSendNftStep3 = exports.singleSendNftStep2 = exports.singleSendNftStep1 = exports.singleSendNft = void 0;
|
|
4
|
-
var
|
|
5
|
-
Object.defineProperty(exports, "singleSendNft", { enumerable: true, get: function () { return
|
|
6
|
-
Object.defineProperty(exports, "singleSendNftStep1", { enumerable: true, get: function () { return
|
|
7
|
-
Object.defineProperty(exports, "singleSendNftStep2", { enumerable: true, get: function () { return
|
|
8
|
-
Object.defineProperty(exports, "singleSendNftStep3", { enumerable: true, get: function () { return
|
|
9
|
-
var
|
|
10
|
-
Object.defineProperty(exports, "burnNft", { enumerable: true, get: function () { return
|
|
11
|
-
var
|
|
12
|
-
Object.defineProperty(exports, "deployOpenMinterCollection", { enumerable: true, get: function () { return
|
|
13
|
-
var
|
|
14
|
-
Object.defineProperty(exports, "deployClosedMinterCollection", { enumerable: true, get: function () { return
|
|
15
|
-
var
|
|
16
|
-
Object.defineProperty(exports, "mintOpenMinterNft", { enumerable: true, get: function () { return
|
|
17
|
-
var
|
|
18
|
-
Object.defineProperty(exports, "mintClosedMinterNft", { enumerable: true, get: function () { return
|
|
4
|
+
var singleSend_js_1 = require("./send/singleSend.js");
|
|
5
|
+
Object.defineProperty(exports, "singleSendNft", { enumerable: true, get: function () { return singleSend_js_1.singleSendNft; } });
|
|
6
|
+
Object.defineProperty(exports, "singleSendNftStep1", { enumerable: true, get: function () { return singleSend_js_1.singleSendNftStep1; } });
|
|
7
|
+
Object.defineProperty(exports, "singleSendNftStep2", { enumerable: true, get: function () { return singleSend_js_1.singleSendNftStep2; } });
|
|
8
|
+
Object.defineProperty(exports, "singleSendNftStep3", { enumerable: true, get: function () { return singleSend_js_1.singleSendNftStep3; } });
|
|
9
|
+
var burn_js_1 = require("./burn/burn.js");
|
|
10
|
+
Object.defineProperty(exports, "burnNft", { enumerable: true, get: function () { return burn_js_1.burnNft; } });
|
|
11
|
+
var cat721OpenMinter_js_1 = require("./deploy/cat721OpenMinter.js");
|
|
12
|
+
Object.defineProperty(exports, "deployOpenMinterCollection", { enumerable: true, get: function () { return cat721OpenMinter_js_1.deployOpenMinterCollection; } });
|
|
13
|
+
var cat721ClosedMinter_js_1 = require("./deploy/cat721ClosedMinter.js");
|
|
14
|
+
Object.defineProperty(exports, "deployClosedMinterCollection", { enumerable: true, get: function () { return cat721ClosedMinter_js_1.deployClosedMinterCollection; } });
|
|
15
|
+
var cat721OpenMinter_js_2 = require("./mint/cat721OpenMinter.js");
|
|
16
|
+
Object.defineProperty(exports, "mintOpenMinterNft", { enumerable: true, get: function () { return cat721OpenMinter_js_2.mintOpenMinterNft; } });
|
|
17
|
+
var cat721ClosedMinter_js_2 = require("./mint/cat721ClosedMinter.js");
|
|
18
|
+
Object.defineProperty(exports, "mintClosedMinterNft", { enumerable: true, get: function () { return cat721ClosedMinter_js_2.mintClosedMinterNft; } });
|
|
19
19
|
// legacy exports
|
|
20
20
|
/**
|
|
21
21
|
* @hidden
|
|
22
22
|
*/
|
|
23
|
-
var
|
|
24
|
-
Object.defineProperty(exports, "deployNft", { enumerable: true, get: function () { return
|
|
23
|
+
var cat721OpenMinter_js_3 = require("./deploy/cat721OpenMinter.js");
|
|
24
|
+
Object.defineProperty(exports, "deployNft", { enumerable: true, get: function () { return cat721OpenMinter_js_3.deployOpenMinterCollection; } });
|
|
25
25
|
/**
|
|
26
26
|
* @hidden
|
|
27
27
|
*/
|
|
28
|
-
var
|
|
29
|
-
Object.defineProperty(exports, "mintNft", { enumerable: true, get: function () { return
|
|
28
|
+
var cat721OpenMinter_js_4 = require("./mint/cat721OpenMinter.js");
|
|
29
|
+
Object.defineProperty(exports, "mintNft", { enumerable: true, get: function () { return cat721OpenMinter_js_4.mintOpenMinterNft; } });
|
|
30
30
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/features/cat721/index.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/features/cat721/index.ts"],"names":[],"mappings":";;;AAAA,sDAK6B;AAJzB,8GAAA,aAAa,OAAA;AACb,mHAAA,kBAAkB,OAAA;AAClB,mHAAA,kBAAkB,OAAA;AAClB,mHAAA,kBAAkB,OAAA;AAEtB,0CAAwC;AAA/B,kGAAA,OAAO,OAAA;AAChB,oEAAyE;AAAhE,iIAAA,0BAA0B,OAAA;AACnC,wEAA6E;AAApE,qIAAA,4BAA4B,OAAA;AACrC,kEAA8D;AAArD,wHAAA,iBAAiB,OAAA;AAC1B,sEAAkE;AAAzD,4HAAA,mBAAmB,OAAA;AAE5B,iBAAiB;AACjB;;GAEG;AACH,oEAAsF;AAA7E,gHAAA,0BAA0B,OAAa;AAChD;;GAEG;AACH,kEAAyE;AAAhE,8GAAA,iBAAiB,OAAW"}
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.mintClosedMinterNft = void 0;
|
|
4
4
|
const scrypt_ts_opcat_1 = require("@opcat-labs/scrypt-ts-opcat");
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
const
|
|
5
|
+
const index_js_1 = require("../../../contracts/index.js");
|
|
6
|
+
const contractPeripheral_js_1 = require("../../../utils/contractPeripheral.js");
|
|
7
|
+
const nft_js_1 = require("./nft.js");
|
|
8
|
+
const typeConstants_js_1 = require("../../../typeConstants.js");
|
|
9
|
+
const index_js_2 = require("../../../utils/index.js");
|
|
10
10
|
/**
|
|
11
11
|
* Mints a CAT721 NFT using `CAT721ClosedMinter` contract
|
|
12
12
|
* Only the token issuer can mint token
|
|
@@ -24,20 +24,20 @@ const utils_1 = require("../../../utils");
|
|
|
24
24
|
* @param feeRate the fee rate for the transaction
|
|
25
25
|
* @returns the PSBTs for the create and mint transactions
|
|
26
26
|
*/
|
|
27
|
-
async function
|
|
27
|
+
exports.mintClosedMinterNft = (0, index_js_2.createFeatureWithDryRun)(async function (issuerSigner, feeSigner, provider, minterUtxo, nft, collectionId, metadata, nftReceiver, changeAddress, feeUtxos, feeRate) {
|
|
28
28
|
// fetch minter preTx
|
|
29
29
|
const minterInputIndex = 0;
|
|
30
30
|
const spentMinterTxHex = await provider.getRawTransaction(minterUtxo.txId);
|
|
31
31
|
const spentMinterTx = new scrypt_ts_opcat_1.Transaction(spentMinterTxHex);
|
|
32
32
|
const minterPreTxHex = await provider.getRawTransaction((0, scrypt_ts_opcat_1.toHex)(spentMinterTx.inputs[minterInputIndex].prevTxId));
|
|
33
|
-
const closedMinter =
|
|
33
|
+
const closedMinter = contractPeripheral_js_1.CAT721ClosedMinterPeripheral.createMinter(collectionId, metadata);
|
|
34
34
|
const minterScript = closedMinter.lockingScript.toHex();
|
|
35
|
-
minterUtxo = (0,
|
|
35
|
+
minterUtxo = (0, index_js_2.normalizeUtxoScripts)([minterUtxo], minterScript)[0];
|
|
36
36
|
closedMinter.bindToUtxo({
|
|
37
37
|
...minterUtxo,
|
|
38
|
-
txHashPreimage: (0, scrypt_ts_opcat_1.toHex)(new scrypt_ts_opcat_1.Transaction(spentMinterTxHex).toTxHashPreimage())
|
|
38
|
+
txHashPreimage: (0, scrypt_ts_opcat_1.toHex)(new scrypt_ts_opcat_1.Transaction(spentMinterTxHex).toTxHashPreimage())
|
|
39
39
|
});
|
|
40
|
-
const createNftRes = await (0,
|
|
40
|
+
const createNftRes = await (0, nft_js_1.createNft)(feeSigner, provider, closedMinter.state.nextLocalId, nft, feeUtxos, feeRate);
|
|
41
41
|
const nftState = {
|
|
42
42
|
localId: closedMinter.state.nextLocalId,
|
|
43
43
|
ownerAddr: nftReceiver
|
|
@@ -51,16 +51,16 @@ async function mintClosedMinterNft(issuerSigner, feeSigner, provider, minterUtxo
|
|
|
51
51
|
const backtraceInfo = (0, scrypt_ts_opcat_1.getBackTraceInfo)(spentMinterTxHex, minterPreTxHex,
|
|
52
52
|
// minter is always the first input
|
|
53
53
|
0);
|
|
54
|
-
const cat721 = new
|
|
54
|
+
const cat721 = new index_js_1.CAT721(contractPeripheral_js_1.ContractPeripheral.scriptHash(closedMinter), contractPeripheral_js_1.CAT721GuardPeripheral.getGuardVariantScriptHashes());
|
|
55
55
|
cat721.state = nftState;
|
|
56
56
|
const minterPsbt = new scrypt_ts_opcat_1.ExtPsbt({ network: await provider.getNetwork() })
|
|
57
57
|
.addContractInput(closedMinter, (contract, tx) => {
|
|
58
|
-
contract.mint(nftState, (0, scrypt_ts_opcat_1.PubKey)(issuerPubKey), tx.getSig(0, { publicKey: issuerPubKey }), BigInt(
|
|
58
|
+
contract.mint(nftState, (0, scrypt_ts_opcat_1.PubKey)(issuerPubKey), tx.getSig(0, { publicKey: issuerPubKey }), BigInt(typeConstants_js_1.Postage.MINTER_POSTAGE), BigInt(typeConstants_js_1.Postage.NFT_POSTAGE), backtraceInfo);
|
|
59
59
|
})
|
|
60
60
|
.spendUTXO(createNftRes.contentUtxo)
|
|
61
61
|
.spendUTXO(createNftRes.mintInfoUtxo)
|
|
62
|
-
.addContractOutput(nextMinter,
|
|
63
|
-
.addContractOutput(cat721,
|
|
62
|
+
.addContractOutput(nextMinter, typeConstants_js_1.Postage.MINTER_POSTAGE)
|
|
63
|
+
.addContractOutput(cat721, typeConstants_js_1.Postage.NFT_POSTAGE)
|
|
64
64
|
.change(changeAddress, feeRate)
|
|
65
65
|
.seal();
|
|
66
66
|
const signedMintPsbt = await issuerSigner.signPsbt(minterPsbt.toHex(), minterPsbt.psbtOptions());
|
|
@@ -75,12 +75,12 @@ async function mintClosedMinterNft(issuerSigner, feeSigner, provider, minterUtxo
|
|
|
75
75
|
(0, scrypt_ts_opcat_1.markSpent)(provider, createNftRes.createNftPsbt.extractTransaction());
|
|
76
76
|
await provider.broadcast(minterPsbt.extractTransaction().toHex());
|
|
77
77
|
(0, scrypt_ts_opcat_1.markSpent)(provider, minterPsbt.extractTransaction());
|
|
78
|
+
(0, scrypt_ts_opcat_1.addChangeUtxoToProvider)(provider, minterPsbt);
|
|
78
79
|
return {
|
|
79
80
|
createNftPsbt: createNftRes.createNftPsbt,
|
|
80
81
|
createNftTxId: createNftRes.createNftPsbt.extractTransaction().id,
|
|
81
82
|
mintPsbt: minterPsbt,
|
|
82
83
|
mintTxId: minterPsbt.extractTransaction().id,
|
|
83
84
|
};
|
|
84
|
-
}
|
|
85
|
-
exports.mintClosedMinterNft = mintClosedMinterNft;
|
|
85
|
+
});
|
|
86
86
|
//# sourceMappingURL=cat721ClosedMinter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cat721ClosedMinter.js","sourceRoot":"","sources":["../../../../../src/features/cat721/mint/cat721ClosedMinter.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"cat721ClosedMinter.js","sourceRoot":"","sources":["../../../../../src/features/cat721/mint/cat721ClosedMinter.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.mintOpenMinterNft = void 0;
|
|
4
4
|
const scrypt_ts_opcat_1 = require("@opcat-labs/scrypt-ts-opcat");
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
const
|
|
10
|
-
const
|
|
5
|
+
const contractPeripheral_js_1 = require("../../../utils/contractPeripheral.js");
|
|
6
|
+
const nft_js_1 = require("./nft.js");
|
|
7
|
+
const cat721OpenMintInfo_js_1 = require("../../../contracts/cat721/minters/cat721OpenMintInfo.js");
|
|
8
|
+
const typeConstants_js_1 = require("../../../typeConstants.js");
|
|
9
|
+
const index_js_1 = require("../../../contracts/index.js");
|
|
10
|
+
const index_js_2 = require("../../../utils/index.js");
|
|
11
11
|
/**
|
|
12
12
|
* Mints a CAT721 NFT using `CAT721OpenMinter` contract
|
|
13
13
|
* @category Feature
|
|
@@ -25,7 +25,7 @@ const utils_1 = require("../../../utils");
|
|
|
25
25
|
* @param feeRate the fee rate for the transaction
|
|
26
26
|
* @returns the PSBTs for the create and mint transactions
|
|
27
27
|
*/
|
|
28
|
-
async function
|
|
28
|
+
exports.mintOpenMinterNft = (0, index_js_2.createFeatureWithDryRun)(async function (signer, provider, minterUtxo, proof, proofNodePos, nextMerkleRoot, nft, collectionId, metadata, nftReceiver, changeAddress, feeRate) {
|
|
29
29
|
const address = await signer.getAddress();
|
|
30
30
|
let feeUtxos = await provider.getUtxos(address);
|
|
31
31
|
// fetch minter preTx
|
|
@@ -33,40 +33,43 @@ async function mintOpenMinterNft(signer, provider, minterUtxo, proof, proofNodeP
|
|
|
33
33
|
const spentMinterTxHex = await provider.getRawTransaction(minterUtxo.txId);
|
|
34
34
|
const spentMinterTx = new scrypt_ts_opcat_1.Transaction(spentMinterTxHex);
|
|
35
35
|
const minterPreTxHex = await provider.getRawTransaction((0, scrypt_ts_opcat_1.toHex)(spentMinterTx.inputs[minterInputIndex].prevTxId));
|
|
36
|
-
const openMinter =
|
|
36
|
+
const openMinter = contractPeripheral_js_1.CAT721OpenMinterPeripheral.createMinter(collectionId, metadata);
|
|
37
37
|
const minterScript = openMinter.lockingScript.toHex();
|
|
38
|
-
minterUtxo = (0,
|
|
39
|
-
openMinter.bindToUtxo(
|
|
40
|
-
|
|
38
|
+
minterUtxo = (0, index_js_2.normalizeUtxoScripts)([minterUtxo], minterScript)[0];
|
|
39
|
+
openMinter.bindToUtxo({
|
|
40
|
+
...minterUtxo,
|
|
41
|
+
txHashPreimage: (0, scrypt_ts_opcat_1.toHex)(new scrypt_ts_opcat_1.Transaction(spentMinterTxHex).toTxHashPreimage())
|
|
42
|
+
});
|
|
43
|
+
const createNftRes = await (0, nft_js_1.createNft)(signer, provider, openMinter.state.nextLocalId, nft, feeUtxos, feeRate);
|
|
41
44
|
const nftState = {
|
|
42
45
|
localId: openMinter.state.nextLocalId,
|
|
43
46
|
ownerAddr: nftReceiver
|
|
44
47
|
};
|
|
45
48
|
const preminerPubKey = await signer.getPublicKey();
|
|
46
|
-
const backtraceInfo = (0, scrypt_ts_opcat_1.getBackTraceInfo)(spentMinterTxHex, minterPreTxHex,
|
|
47
|
-
// minter is always the first input
|
|
48
|
-
0);
|
|
49
49
|
const nextMinter = openMinter.next({
|
|
50
50
|
...openMinter.state,
|
|
51
51
|
nextLocalId: openMinter.state.nextLocalId + 1n,
|
|
52
52
|
merkleRoot: nextMerkleRoot,
|
|
53
53
|
});
|
|
54
|
-
const cat721 = new
|
|
54
|
+
const cat721 = new index_js_1.CAT721(contractPeripheral_js_1.ContractPeripheral.scriptHash(openMinter), contractPeripheral_js_1.CAT721GuardPeripheral.getGuardVariantScriptHashes());
|
|
55
55
|
cat721.state = nftState;
|
|
56
|
+
const backtraceInfo = (0, scrypt_ts_opcat_1.getBackTraceInfo)(spentMinterTxHex, minterPreTxHex,
|
|
57
|
+
// minter is always the first input
|
|
58
|
+
0);
|
|
56
59
|
const mintPsbt = new scrypt_ts_opcat_1.ExtPsbt({ network: await provider.getNetwork() })
|
|
57
60
|
.addContractInput(openMinter, (contract, tx) => {
|
|
58
|
-
const mintInfo =
|
|
61
|
+
const mintInfo = cat721OpenMintInfo_js_1.CAT721OpenMintInfo.deserializeState(createNftRes.mintInfoUtxo.data);
|
|
59
62
|
if (openMinter.state.nextLocalId < openMinter.premine) {
|
|
60
|
-
contract.mint(nftState, mintInfo, proof, proofNodePos, (0, scrypt_ts_opcat_1.PubKey)(preminerPubKey), tx.getSig(0, { publicKey: preminerPubKey }), BigInt(
|
|
63
|
+
contract.mint(nftState, mintInfo, proof, proofNodePos, (0, scrypt_ts_opcat_1.PubKey)(preminerPubKey), tx.getSig(0, { publicKey: preminerPubKey }), BigInt(typeConstants_js_1.Postage.MINTER_POSTAGE), BigInt(typeConstants_js_1.Postage.NFT_POSTAGE), backtraceInfo);
|
|
61
64
|
}
|
|
62
65
|
else {
|
|
63
|
-
contract.mint(nftState, mintInfo, proof, proofNodePos, '', '', BigInt(
|
|
66
|
+
contract.mint(nftState, mintInfo, proof, proofNodePos, '', '', BigInt(typeConstants_js_1.Postage.MINTER_POSTAGE), BigInt(typeConstants_js_1.Postage.NFT_POSTAGE), backtraceInfo);
|
|
64
67
|
}
|
|
65
68
|
})
|
|
66
69
|
.spendUTXO(createNftRes.contentUtxo)
|
|
67
70
|
.spendUTXO(createNftRes.mintInfoUtxo)
|
|
68
|
-
.addContractOutput(nextMinter,
|
|
69
|
-
.addContractOutput(cat721,
|
|
71
|
+
.addContractOutput(nextMinter, typeConstants_js_1.Postage.MINTER_POSTAGE)
|
|
72
|
+
.addContractOutput(cat721, typeConstants_js_1.Postage.NFT_POSTAGE)
|
|
70
73
|
.change(changeAddress, feeRate)
|
|
71
74
|
.seal();
|
|
72
75
|
const signedMintPsbt = await signer.signPsbt(mintPsbt.toHex(), mintPsbt.psbtOptions());
|
|
@@ -76,12 +79,12 @@ async function mintOpenMinterNft(signer, provider, minterUtxo, proof, proofNodeP
|
|
|
76
79
|
(0, scrypt_ts_opcat_1.markSpent)(provider, createNftRes.createNftPsbt.extractTransaction());
|
|
77
80
|
await provider.broadcast(mintPsbt.extractTransaction().toHex());
|
|
78
81
|
(0, scrypt_ts_opcat_1.markSpent)(provider, mintPsbt.extractTransaction());
|
|
82
|
+
(0, scrypt_ts_opcat_1.addChangeUtxoToProvider)(provider, mintPsbt);
|
|
79
83
|
return {
|
|
80
84
|
createNftPsbt: createNftRes.createNftPsbt,
|
|
81
85
|
createNftTxId: createNftRes.createNftPsbt.extractTransaction().id,
|
|
82
86
|
mintPsbt,
|
|
83
87
|
mintTxId: mintPsbt.extractTransaction().id,
|
|
84
88
|
};
|
|
85
|
-
}
|
|
86
|
-
exports.mintOpenMinterNft = mintOpenMinterNft;
|
|
89
|
+
});
|
|
87
90
|
//# sourceMappingURL=cat721OpenMinter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cat721OpenMinter.js","sourceRoot":"","sources":["../../../../../src/features/cat721/mint/cat721OpenMinter.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"cat721OpenMinter.js","sourceRoot":"","sources":["../../../../../src/features/cat721/mint/cat721OpenMinter.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,11 +2,12 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.createNft = void 0;
|
|
4
4
|
const scrypt_ts_opcat_1 = require("@opcat-labs/scrypt-ts-opcat");
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
|
|
5
|
+
const cat721OpenMintInfo_js_1 = require("../../../contracts/cat721/minters/cat721OpenMintInfo.js");
|
|
6
|
+
const metadata_js_1 = require("../../../lib/metadata.js");
|
|
7
|
+
const index_js_1 = require("../../../utils/index.js");
|
|
8
|
+
exports.createNft = (0, index_js_1.createFeatureWithDryRun)(async function (signer, provider, localId, nft, feeUtxos, feeRate) {
|
|
8
9
|
const address = await signer.getAddress();
|
|
9
|
-
const nftStr =
|
|
10
|
+
const nftStr = metadata_js_1.MetadataSerializer.serialize('NFT', {
|
|
10
11
|
metadata: nft.nftmetadata,
|
|
11
12
|
content: {
|
|
12
13
|
type: nft.contentType,
|
|
@@ -21,7 +22,7 @@ async function createNft(signer, provider, localId, nft, feeUtxos, feeRate) {
|
|
|
21
22
|
value: 1n,
|
|
22
23
|
data: (0, scrypt_ts_opcat_1.hexToUint8Array)(nftStr)
|
|
23
24
|
})
|
|
24
|
-
.change(address, feeRate, (0, scrypt_ts_opcat_1.hexToUint8Array)(
|
|
25
|
+
.change(address, feeRate, (0, scrypt_ts_opcat_1.hexToUint8Array)(cat721OpenMintInfo_js_1.CAT721OpenMintInfo.serializeState({
|
|
25
26
|
localId,
|
|
26
27
|
contentDataHash: nftStrHash
|
|
27
28
|
})))
|
|
@@ -29,11 +30,11 @@ async function createNft(signer, provider, localId, nft, feeUtxos, feeRate) {
|
|
|
29
30
|
const signedPsbt = await signer.signPsbt(psbt.toHex(), psbt.psbtOptions());
|
|
30
31
|
psbt.combine(scrypt_ts_opcat_1.ExtPsbt.fromHex(signedPsbt));
|
|
31
32
|
psbt.finalizeAllInputs();
|
|
33
|
+
(0, scrypt_ts_opcat_1.addChangeUtxoToProvider)(provider, psbt);
|
|
32
34
|
return {
|
|
33
35
|
createNftPsbt: psbt,
|
|
34
36
|
contentUtxo: psbt.getUtxo(0),
|
|
35
37
|
mintInfoUtxo: psbt.getUtxo(1),
|
|
36
38
|
};
|
|
37
|
-
}
|
|
38
|
-
exports.createNft = createNft;
|
|
39
|
+
});
|
|
39
40
|
//# sourceMappingURL=nft.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nft.js","sourceRoot":"","sources":["../../../../../src/features/cat721/mint/nft.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"nft.js","sourceRoot":"","sources":["../../../../../src/features/cat721/mint/nft.ts"],"names":[],"mappings":";;;AAAA,iEAAmJ;AACnJ,mGAA6F;AAC7F,0DAA8D;AAC9D,sDAAkE;AAGrD,QAAA,SAAS,GAAG,IAAA,kCAAuB,EAAC,KAAK,WAClD,MAAc,EACd,QAAsC,EACtC,OAAe,EACf,GAIC,EACD,QAAgB,EAChB,OAAe;IAMf,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,UAAU,EAAE,CAAA;IAEzC,MAAM,MAAM,GAAG,gCAAkB,CAAC,SAAS,CACvC,KAAK,EACL;QACI,QAAQ,EAAE,GAAG,CAAC,WAAW;QACzB,OAAO,EAAE;YACL,IAAI,EAAE,GAAG,CAAC,WAAW;YACrB,IAAI,EAAE,GAAG,CAAC,WAAW;SACxB;KACJ,CACJ,CAAA;IACD,MAAM,UAAU,GAAG,IAAA,wBAAM,EAAC,MAAM,CAAC,CAAA;IAEjC,MAAM,IAAI,GAAG,IAAI,yBAAO,CAAC,EAAC,OAAO,EAAE,MAAM,QAAQ,CAAC,UAAU,EAAE,EAAC,CAAC;SAC3D,SAAS,CAAC,QAAQ,CAAC;SACnB,SAAS,CAAC;QACP,OAAO;QACP,KAAK,EAAE,EAAE;QACT,IAAI,EAAE,IAAA,iCAAe,EAAC,MAAM,CAAC;KAChC,CAAC;SACD,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,IAAA,iCAAe,EAAC,0CAAkB,CAAC,cAAc,CAAC;QACxE,OAAO;QACP,eAAe,EAAE,UAAU;KAC9B,CAAC,CAAC,CAAC;SACH,IAAI,EAAE,CAAA;IAEX,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAA;IAC1E,IAAI,CAAC,OAAO,CAAC,yBAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAA;IACzC,IAAI,CAAC,iBAAiB,EAAE,CAAA;IACxB,IAAA,yCAAuB,EAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;IAEvC,OAAO;QACH,aAAa,EAAE,IAAI;QACnB,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5B,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;KAChC,CAAA;AACL,CAAC,CAAC,CAAA"}
|