@msafe/sui-app-store 0.0.7 → 0.0.8

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.js CHANGED
@@ -34,6 +34,9 @@ __export(src_exports, {
34
34
  });
35
35
  module.exports = __toCommonJS(src_exports);
36
36
 
37
+ // src/apps/msafe-core/helper.ts
38
+ var import_sui3_utils4 = require("@msafe/sui3-utils");
39
+
37
40
  // src/apps/msafe-core/coin-transfer.ts
38
41
  var import_sui3_utils = require("@msafe/sui3-utils");
39
42
 
@@ -86,11 +89,34 @@ var ObjectTransferIntention = class _ObjectTransferIntention extends CoreBaseInt
86
89
  }
87
90
  };
88
91
 
92
+ // src/apps/msafe-core/plain-payload.ts
93
+ var import_sui3_utils3 = require("@msafe/sui3-utils");
94
+ var import_transactions = require("@mysten/sui.js/transactions");
95
+ var PlainPayloadIntention = class _PlainPayloadIntention extends CoreBaseIntention {
96
+ constructor(data) {
97
+ super(data);
98
+ this.data = data;
99
+ }
100
+ txType;
101
+ txSubType;
102
+ async build(input) {
103
+ const { account } = input;
104
+ const tb = import_transactions.TransactionBlock.from(this.data.content);
105
+ if (!(0, import_sui3_utils3.isSameAddress)(tb.blockData.sender, account.address)) {
106
+ throw new Error("Invalid sender address");
107
+ }
108
+ return tb;
109
+ }
110
+ static fromData(data) {
111
+ return new _PlainPayloadIntention(data);
112
+ }
113
+ };
114
+
89
115
  // src/apps/msafe-core/helper.ts
90
116
  var CoreHelper = class {
91
117
  application;
92
118
  constructor() {
93
- this.application = "msafe-core";
119
+ this.application = import_sui3_utils4.TransactionDefaultApplication;
94
120
  }
95
121
  deserialize() {
96
122
  throw new Error("MSafe core transaction intention should be build from API");
@@ -99,12 +125,15 @@ var CoreHelper = class {
99
125
  const { suiClient, account } = input;
100
126
  let intention;
101
127
  switch (input.txSubType) {
102
- case "coin-transfer":
128
+ case import_sui3_utils4.TransactionSubTypes.assets.coin.send:
103
129
  intention = CoinTransferIntention.fromData(input.intentionData);
104
130
  break;
105
- case "object-transfer":
131
+ case import_sui3_utils4.TransactionSubTypes.assets.object.send:
106
132
  intention = ObjectTransferIntention.fromData(input.intentionData);
107
133
  break;
134
+ case import_sui3_utils4.TransactionSubTypes.others.plain:
135
+ intention = PlainPayloadIntention.fromData(input.intentionData);
136
+ break;
108
137
  default:
109
138
  throw new Error("not implemented");
110
139
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/apps/msafe-core/coin-transfer.ts","../src/apps/msafe-core/intention.ts","../src/apps/msafe-core/object-transfer.ts","../src/apps/msafe-core/helper.ts","../src/apps/registry.ts"],"sourcesContent":["import { CoreHelper } from '@/apps/msafe-core/helper';\nimport { MSafeApps } from '@/apps/registry';\n\nexport const appHelpers = new MSafeApps([new CoreHelper()]);\n","import { TransactionType, buildCoinTransferTxb } from '@msafe/sui3-utils';\nimport { SuiClient } from '@mysten/sui.js/client';\nimport { TransactionBlock } from '@mysten/sui.js/transactions';\nimport { WalletAccount } from '@mysten/wallet-standard';\n\nimport { CoreBaseIntention } from '@/apps/msafe-core/intention';\n\nexport interface CoinTransferIntentionData {\n recipient: string;\n coinType: string;\n amount: string;\n}\n\nexport class CoinTransferIntention extends CoreBaseIntention<CoinTransferIntentionData> {\n txType: TransactionType.Assets;\n\n txSubType: 'coin-transfer';\n\n constructor(public readonly data: CoinTransferIntentionData) {\n super(data);\n }\n\n async build(input: { suiClient: SuiClient; account: WalletAccount }): Promise<TransactionBlock> {\n const { suiClient, account } = input;\n return buildCoinTransferTxb(suiClient, this.data, account.address);\n }\n\n static fromData(data: CoinTransferIntentionData) {\n return new CoinTransferIntention(data);\n }\n}\n","import { TransactionType } from '@msafe/sui3-utils';\nimport { SuiClient } from '@mysten/sui.js/client';\nimport { TransactionBlock } from '@mysten/sui.js/transactions';\nimport { WalletAccount } from '@mysten/wallet-standard';\nimport sortKeys from 'sort-keys-recursive';\n\nimport { TransactionIntention } from '@/apps/interface';\n\nexport abstract class CoreBaseIntention<D> implements TransactionIntention<D> {\n abstract txType: TransactionType;\n\n abstract txSubType: string;\n\n protected constructor(public readonly data: D) {}\n\n get application() {\n return 'msafe-core';\n }\n\n serialize() {\n return JSON.stringify(sortKeys(this.data));\n }\n\n abstract build(input: { suiClient: SuiClient; account: WalletAccount }): Promise<TransactionBlock>;\n}\n","import { TransactionType, buildObjectTransferTxb } from '@msafe/sui3-utils';\nimport { SuiClient } from '@mysten/sui.js/client';\nimport { TransactionBlock } from '@mysten/sui.js/transactions';\nimport { WalletAccount } from '@mysten/wallet-standard';\n\nimport { CoreBaseIntention } from '@/apps/msafe-core/intention';\n\nexport interface ObjectTransferIntentionData {\n receiver: string;\n objectType: string;\n objectId: string;\n}\n\nexport class ObjectTransferIntention extends CoreBaseIntention<ObjectTransferIntentionData> {\n txType: TransactionType.Assets;\n\n txSubType: 'object-transfer';\n\n constructor(public readonly data: ObjectTransferIntentionData) {\n super(data);\n }\n\n async build(input: { suiClient: SuiClient; account: WalletAccount }): Promise<TransactionBlock> {\n const { suiClient, account } = input;\n return buildObjectTransferTxb(suiClient, this.data, account.address);\n }\n\n static fromData(data: ObjectTransferIntentionData) {\n return new ObjectTransferIntention(data);\n }\n}\n","import { TransactionType } from '@msafe/sui3-utils';\nimport { SuiClient } from '@mysten/sui.js/client';\nimport { TransactionBlock } from '@mysten/sui.js/transactions';\nimport { WalletAccount } from '@mysten/wallet-standard';\n\nimport { MSafeAppHelper } from '@/apps/interface';\nimport { CoinTransferIntention, CoinTransferIntentionData } from '@/apps/msafe-core/coin-transfer';\n\nimport { ObjectTransferIntention, ObjectTransferIntentionData } from './object-transfer';\n\nexport type CoreIntention = CoinTransferIntention | ObjectTransferIntention;\n\nexport type CoreIntentionData = CoinTransferIntentionData | ObjectTransferIntentionData;\n\nexport class CoreHelper implements MSafeAppHelper<CoreIntention, CoreIntentionData> {\n application: string;\n\n constructor() {\n this.application = 'msafe-core';\n }\n\n deserialize(): CoreIntention {\n throw new Error('MSafe core transaction intention should be build from API');\n }\n\n async build(input: {\n intentionData: CoreIntentionData;\n txType: TransactionType;\n txSubType: string;\n suiClient: SuiClient;\n account: WalletAccount;\n }): Promise<TransactionBlock> {\n const { suiClient, account } = input;\n let intention: CoreIntention;\n switch (input.txSubType) {\n case 'coin-transfer':\n intention = CoinTransferIntention.fromData(input.intentionData as CoinTransferIntentionData);\n break;\n case 'object-transfer':\n intention = ObjectTransferIntention.fromData(input.intentionData as ObjectTransferIntentionData);\n break;\n default:\n throw new Error('not implemented');\n }\n return intention.build({ suiClient, account });\n }\n}\n","import { TransactionType } from '@msafe/sui3-utils';\nimport { SuiClient } from '@mysten/sui.js/client';\nimport { SuiSignTransactionBlockInput, WalletAccount } from '@mysten/wallet-standard';\n\nimport { MSafeAppHelper } from '@/apps/interface';\n\nexport class MSafeApps {\n apps: Map<string, MSafeAppHelper<any, any>>;\n\n constructor(apps: MSafeAppHelper<any, any>[]) {\n this.apps = new Map(apps.map((app) => [app.application, app]));\n }\n\n getAppHelper(appName: string): MSafeAppHelper<any, any> {\n const app = this.apps.get(appName);\n if (!app) {\n throw new Error(`${appName} not registered`);\n }\n return app;\n }\n\n deserialize(appName: string, input: SuiSignTransactionBlockInput) {\n return this.getAppHelper(appName).deserialize(input);\n }\n\n build(\n appName: string,\n input: {\n intentionData: any;\n txType: TransactionType;\n txSubType: string;\n suiClient: SuiClient;\n account: WalletAccount;\n },\n ) {\n return this.getAppHelper(appName).build(input);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,wBAAsD;;;ACItD,iCAAqB;AAId,IAAe,oBAAf,MAAuE;AAAA,EAKlE,YAA4B,MAAS;AAAT;AAAA,EAAU;AAAA,EAEhD,IAAI,cAAc;AAChB,WAAO;AAAA,EACT;AAAA,EAEA,YAAY;AACV,WAAO,KAAK,cAAU,2BAAAA,SAAS,KAAK,IAAI,CAAC;AAAA,EAC3C;AAGF;;;ADXO,IAAM,wBAAN,MAAM,+BAA8B,kBAA6C;AAAA,EAKtF,YAA4B,MAAiC;AAC3D,UAAM,IAAI;AADgB;AAAA,EAE5B;AAAA,EANA;AAAA,EAEA;AAAA,EAMA,MAAM,MAAM,OAAoF;AAC9F,UAAM,EAAE,WAAW,QAAQ,IAAI;AAC/B,eAAO,wCAAqB,WAAW,KAAK,MAAM,QAAQ,OAAO;AAAA,EACnE;AAAA,EAEA,OAAO,SAAS,MAAiC;AAC/C,WAAO,IAAI,uBAAsB,IAAI;AAAA,EACvC;AACF;;;AE9BA,IAAAC,qBAAwD;AAajD,IAAM,0BAAN,MAAM,iCAAgC,kBAA+C;AAAA,EAK1F,YAA4B,MAAmC;AAC7D,UAAM,IAAI;AADgB;AAAA,EAE5B;AAAA,EANA;AAAA,EAEA;AAAA,EAMA,MAAM,MAAM,OAAoF;AAC9F,UAAM,EAAE,WAAW,QAAQ,IAAI;AAC/B,eAAO,2CAAuB,WAAW,KAAK,MAAM,QAAQ,OAAO;AAAA,EACrE;AAAA,EAEA,OAAO,SAAS,MAAmC;AACjD,WAAO,IAAI,yBAAwB,IAAI;AAAA,EACzC;AACF;;;AChBO,IAAM,aAAN,MAA6E;AAAA,EAClF;AAAA,EAEA,cAAc;AACZ,SAAK,cAAc;AAAA,EACrB;AAAA,EAEA,cAA6B;AAC3B,UAAM,IAAI,MAAM,2DAA2D;AAAA,EAC7E;AAAA,EAEA,MAAM,MAAM,OAMkB;AAC5B,UAAM,EAAE,WAAW,QAAQ,IAAI;AAC/B,QAAI;AACJ,YAAQ,MAAM,WAAW;AAAA,MACvB,KAAK;AACH,oBAAY,sBAAsB,SAAS,MAAM,aAA0C;AAC3F;AAAA,MACF,KAAK;AACH,oBAAY,wBAAwB,SAAS,MAAM,aAA4C;AAC/F;AAAA,MACF;AACE,cAAM,IAAI,MAAM,iBAAiB;AAAA,IACrC;AACA,WAAO,UAAU,MAAM,EAAE,WAAW,QAAQ,CAAC;AAAA,EAC/C;AACF;;;ACxCO,IAAM,YAAN,MAAgB;AAAA,EACrB;AAAA,EAEA,YAAY,MAAkC;AAC5C,SAAK,OAAO,IAAI,IAAI,KAAK,IAAI,CAAC,QAAQ,CAAC,IAAI,aAAa,GAAG,CAAC,CAAC;AAAA,EAC/D;AAAA,EAEA,aAAa,SAA2C;AACtD,UAAM,MAAM,KAAK,KAAK,IAAI,OAAO;AACjC,QAAI,CAAC,KAAK;AACR,YAAM,IAAI,MAAM,GAAG,OAAO,iBAAiB;AAAA,IAC7C;AACA,WAAO;AAAA,EACT;AAAA,EAEA,YAAY,SAAiB,OAAqC;AAChE,WAAO,KAAK,aAAa,OAAO,EAAE,YAAY,KAAK;AAAA,EACrD;AAAA,EAEA,MACE,SACA,OAOA;AACA,WAAO,KAAK,aAAa,OAAO,EAAE,MAAM,KAAK;AAAA,EAC/C;AACF;;;ALlCO,IAAM,aAAa,IAAI,UAAU,CAAC,IAAI,WAAW,CAAC,CAAC;","names":["sortKeys","import_sui3_utils"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/apps/msafe-core/helper.ts","../src/apps/msafe-core/coin-transfer.ts","../src/apps/msafe-core/intention.ts","../src/apps/msafe-core/object-transfer.ts","../src/apps/msafe-core/plain-payload.ts","../src/apps/registry.ts"],"sourcesContent":["import { CoreHelper } from '@/apps/msafe-core/helper';\nimport { MSafeApps } from '@/apps/registry';\n\nexport const appHelpers = new MSafeApps([new CoreHelper()]);\n","import { TransactionDefaultApplication, TransactionSubTypes, TransactionType } from '@msafe/sui3-utils';\nimport { SuiClient } from '@mysten/sui.js/client';\nimport { TransactionBlock } from '@mysten/sui.js/transactions';\nimport { WalletAccount } from '@mysten/wallet-standard';\n\nimport { MSafeAppHelper } from '@/apps/interface';\nimport { CoinTransferIntention, CoinTransferIntentionData } from '@/apps/msafe-core/coin-transfer';\n\nimport { ObjectTransferIntention, ObjectTransferIntentionData } from './object-transfer';\nimport { PlainPayloadIntention, PlainPayloadIntentionData } from './plain-payload';\n\nexport type CoreIntention = CoinTransferIntention | ObjectTransferIntention | PlainPayloadIntention;\n\nexport type CoreIntentionData = CoinTransferIntentionData | ObjectTransferIntentionData | PlainPayloadIntentionData;\n\nexport class CoreHelper implements MSafeAppHelper<CoreIntention, CoreIntentionData> {\n application: string;\n\n constructor() {\n this.application = TransactionDefaultApplication;\n }\n\n deserialize(): CoreIntention {\n throw new Error('MSafe core transaction intention should be build from API');\n }\n\n async build(input: {\n intentionData: CoreIntentionData;\n txType: TransactionType;\n txSubType: string;\n suiClient: SuiClient;\n account: WalletAccount;\n }): Promise<TransactionBlock> {\n const { suiClient, account } = input;\n let intention: CoreIntention;\n switch (input.txSubType) {\n case TransactionSubTypes.assets.coin.send:\n intention = CoinTransferIntention.fromData(input.intentionData as CoinTransferIntentionData);\n break;\n case TransactionSubTypes.assets.object.send:\n intention = ObjectTransferIntention.fromData(input.intentionData as ObjectTransferIntentionData);\n break;\n case TransactionSubTypes.others.plain:\n intention = PlainPayloadIntention.fromData(input.intentionData as PlainPayloadIntentionData);\n break;\n default:\n throw new Error('not implemented');\n }\n return intention.build({ suiClient, account });\n }\n}\n","import { TransactionType, buildCoinTransferTxb } from '@msafe/sui3-utils';\nimport { SuiClient } from '@mysten/sui.js/client';\nimport { TransactionBlock } from '@mysten/sui.js/transactions';\nimport { WalletAccount } from '@mysten/wallet-standard';\n\nimport { CoreBaseIntention } from '@/apps/msafe-core/intention';\n\nexport interface CoinTransferIntentionData {\n recipient: string;\n coinType: string;\n amount: string;\n}\n\nexport class CoinTransferIntention extends CoreBaseIntention<CoinTransferIntentionData> {\n txType: TransactionType.Assets;\n\n txSubType: 'SendCoin';\n\n constructor(public readonly data: CoinTransferIntentionData) {\n super(data);\n }\n\n async build(input: { suiClient: SuiClient; account: WalletAccount }): Promise<TransactionBlock> {\n const { suiClient, account } = input;\n return buildCoinTransferTxb(suiClient, this.data, account.address);\n }\n\n static fromData(data: CoinTransferIntentionData) {\n return new CoinTransferIntention(data);\n }\n}\n","import { TransactionType } from '@msafe/sui3-utils';\nimport { SuiClient } from '@mysten/sui.js/client';\nimport { TransactionBlock } from '@mysten/sui.js/transactions';\nimport { WalletAccount } from '@mysten/wallet-standard';\nimport sortKeys from 'sort-keys-recursive';\n\nimport { TransactionIntention } from '@/apps/interface';\n\nexport abstract class CoreBaseIntention<D> implements TransactionIntention<D> {\n abstract txType: TransactionType;\n\n abstract txSubType: string;\n\n protected constructor(public readonly data: D) {}\n\n get application() {\n return 'msafe-core';\n }\n\n serialize() {\n return JSON.stringify(sortKeys(this.data));\n }\n\n abstract build(input: { suiClient: SuiClient; account: WalletAccount }): Promise<TransactionBlock>;\n}\n","import { TransactionType, buildObjectTransferTxb } from '@msafe/sui3-utils';\nimport { SuiClient } from '@mysten/sui.js/client';\nimport { TransactionBlock } from '@mysten/sui.js/transactions';\nimport { WalletAccount } from '@mysten/wallet-standard';\n\nimport { CoreBaseIntention } from '@/apps/msafe-core/intention';\n\nexport interface ObjectTransferIntentionData {\n receiver: string;\n objectType: string;\n objectId: string;\n}\n\nexport class ObjectTransferIntention extends CoreBaseIntention<ObjectTransferIntentionData> {\n txType: TransactionType.Assets;\n\n txSubType: 'SendObject';\n\n constructor(public readonly data: ObjectTransferIntentionData) {\n super(data);\n }\n\n async build(input: { suiClient: SuiClient; account: WalletAccount }): Promise<TransactionBlock> {\n const { suiClient, account } = input;\n return buildObjectTransferTxb(suiClient, this.data, account.address);\n }\n\n static fromData(data: ObjectTransferIntentionData) {\n return new ObjectTransferIntention(data);\n }\n}\n","import { TransactionType, isSameAddress } from '@msafe/sui3-utils';\nimport { SuiClient } from '@mysten/sui.js/client';\nimport { TransactionBlock } from '@mysten/sui.js/transactions';\nimport { WalletAccount } from '@mysten/wallet-standard';\n\nimport { CoreBaseIntention } from '@/apps/msafe-core/intention';\n\nexport interface PlainPayloadIntentionData {\n content: string;\n}\n\nexport class PlainPayloadIntention extends CoreBaseIntention<PlainPayloadIntentionData> {\n txType: TransactionType.Other;\n\n txSubType: 'PlainPayload';\n\n constructor(public readonly data: PlainPayloadIntentionData) {\n super(data);\n }\n\n async build(input: { suiClient: SuiClient; account: WalletAccount }): Promise<TransactionBlock> {\n const { account } = input;\n const tb = TransactionBlock.from(this.data.content);\n\n if (!isSameAddress(tb.blockData.sender, account.address)) {\n throw new Error('Invalid sender address');\n }\n\n return tb;\n }\n\n static fromData(data: PlainPayloadIntentionData) {\n return new PlainPayloadIntention(data);\n }\n}\n","import { TransactionType } from '@msafe/sui3-utils';\nimport { SuiClient } from '@mysten/sui.js/client';\nimport { SuiSignTransactionBlockInput, WalletAccount } from '@mysten/wallet-standard';\n\nimport { MSafeAppHelper } from '@/apps/interface';\n\nexport class MSafeApps {\n apps: Map<string, MSafeAppHelper<any, any>>;\n\n constructor(apps: MSafeAppHelper<any, any>[]) {\n this.apps = new Map(apps.map((app) => [app.application, app]));\n }\n\n getAppHelper(appName: string): MSafeAppHelper<any, any> {\n const app = this.apps.get(appName);\n if (!app) {\n throw new Error(`${appName} not registered`);\n }\n return app;\n }\n\n deserialize(appName: string, input: SuiSignTransactionBlockInput) {\n return this.getAppHelper(appName).deserialize(input);\n }\n\n build(\n appName: string,\n input: {\n intentionData: any;\n txType: TransactionType;\n txSubType: string;\n suiClient: SuiClient;\n account: WalletAccount;\n },\n ) {\n return this.getAppHelper(appName).build(input);\n }\n}\n"],"mappings":"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","names":["import_sui3_utils","sortKeys","import_sui3_utils","import_sui3_utils"]}
package/dist/index.mjs CHANGED
@@ -1,3 +1,6 @@
1
+ // src/apps/msafe-core/helper.ts
2
+ import { TransactionDefaultApplication, TransactionSubTypes } from "@msafe/sui3-utils";
3
+
1
4
  // src/apps/msafe-core/coin-transfer.ts
2
5
  import { buildCoinTransferTxb } from "@msafe/sui3-utils";
3
6
 
@@ -50,11 +53,34 @@ var ObjectTransferIntention = class _ObjectTransferIntention extends CoreBaseInt
50
53
  }
51
54
  };
52
55
 
56
+ // src/apps/msafe-core/plain-payload.ts
57
+ import { isSameAddress } from "@msafe/sui3-utils";
58
+ import { TransactionBlock } from "@mysten/sui.js/transactions";
59
+ var PlainPayloadIntention = class _PlainPayloadIntention extends CoreBaseIntention {
60
+ constructor(data) {
61
+ super(data);
62
+ this.data = data;
63
+ }
64
+ txType;
65
+ txSubType;
66
+ async build(input) {
67
+ const { account } = input;
68
+ const tb = TransactionBlock.from(this.data.content);
69
+ if (!isSameAddress(tb.blockData.sender, account.address)) {
70
+ throw new Error("Invalid sender address");
71
+ }
72
+ return tb;
73
+ }
74
+ static fromData(data) {
75
+ return new _PlainPayloadIntention(data);
76
+ }
77
+ };
78
+
53
79
  // src/apps/msafe-core/helper.ts
54
80
  var CoreHelper = class {
55
81
  application;
56
82
  constructor() {
57
- this.application = "msafe-core";
83
+ this.application = TransactionDefaultApplication;
58
84
  }
59
85
  deserialize() {
60
86
  throw new Error("MSafe core transaction intention should be build from API");
@@ -63,12 +89,15 @@ var CoreHelper = class {
63
89
  const { suiClient, account } = input;
64
90
  let intention;
65
91
  switch (input.txSubType) {
66
- case "coin-transfer":
92
+ case TransactionSubTypes.assets.coin.send:
67
93
  intention = CoinTransferIntention.fromData(input.intentionData);
68
94
  break;
69
- case "object-transfer":
95
+ case TransactionSubTypes.assets.object.send:
70
96
  intention = ObjectTransferIntention.fromData(input.intentionData);
71
97
  break;
98
+ case TransactionSubTypes.others.plain:
99
+ intention = PlainPayloadIntention.fromData(input.intentionData);
100
+ break;
72
101
  default:
73
102
  throw new Error("not implemented");
74
103
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/apps/msafe-core/coin-transfer.ts","../src/apps/msafe-core/intention.ts","../src/apps/msafe-core/object-transfer.ts","../src/apps/msafe-core/helper.ts","../src/apps/registry.ts","../src/index.ts"],"sourcesContent":["import { TransactionType, buildCoinTransferTxb } from '@msafe/sui3-utils';\nimport { SuiClient } from '@mysten/sui.js/client';\nimport { TransactionBlock } from '@mysten/sui.js/transactions';\nimport { WalletAccount } from '@mysten/wallet-standard';\n\nimport { CoreBaseIntention } from '@/apps/msafe-core/intention';\n\nexport interface CoinTransferIntentionData {\n recipient: string;\n coinType: string;\n amount: string;\n}\n\nexport class CoinTransferIntention extends CoreBaseIntention<CoinTransferIntentionData> {\n txType: TransactionType.Assets;\n\n txSubType: 'coin-transfer';\n\n constructor(public readonly data: CoinTransferIntentionData) {\n super(data);\n }\n\n async build(input: { suiClient: SuiClient; account: WalletAccount }): Promise<TransactionBlock> {\n const { suiClient, account } = input;\n return buildCoinTransferTxb(suiClient, this.data, account.address);\n }\n\n static fromData(data: CoinTransferIntentionData) {\n return new CoinTransferIntention(data);\n }\n}\n","import { TransactionType } from '@msafe/sui3-utils';\nimport { SuiClient } from '@mysten/sui.js/client';\nimport { TransactionBlock } from '@mysten/sui.js/transactions';\nimport { WalletAccount } from '@mysten/wallet-standard';\nimport sortKeys from 'sort-keys-recursive';\n\nimport { TransactionIntention } from '@/apps/interface';\n\nexport abstract class CoreBaseIntention<D> implements TransactionIntention<D> {\n abstract txType: TransactionType;\n\n abstract txSubType: string;\n\n protected constructor(public readonly data: D) {}\n\n get application() {\n return 'msafe-core';\n }\n\n serialize() {\n return JSON.stringify(sortKeys(this.data));\n }\n\n abstract build(input: { suiClient: SuiClient; account: WalletAccount }): Promise<TransactionBlock>;\n}\n","import { TransactionType, buildObjectTransferTxb } from '@msafe/sui3-utils';\nimport { SuiClient } from '@mysten/sui.js/client';\nimport { TransactionBlock } from '@mysten/sui.js/transactions';\nimport { WalletAccount } from '@mysten/wallet-standard';\n\nimport { CoreBaseIntention } from '@/apps/msafe-core/intention';\n\nexport interface ObjectTransferIntentionData {\n receiver: string;\n objectType: string;\n objectId: string;\n}\n\nexport class ObjectTransferIntention extends CoreBaseIntention<ObjectTransferIntentionData> {\n txType: TransactionType.Assets;\n\n txSubType: 'object-transfer';\n\n constructor(public readonly data: ObjectTransferIntentionData) {\n super(data);\n }\n\n async build(input: { suiClient: SuiClient; account: WalletAccount }): Promise<TransactionBlock> {\n const { suiClient, account } = input;\n return buildObjectTransferTxb(suiClient, this.data, account.address);\n }\n\n static fromData(data: ObjectTransferIntentionData) {\n return new ObjectTransferIntention(data);\n }\n}\n","import { TransactionType } from '@msafe/sui3-utils';\nimport { SuiClient } from '@mysten/sui.js/client';\nimport { TransactionBlock } from '@mysten/sui.js/transactions';\nimport { WalletAccount } from '@mysten/wallet-standard';\n\nimport { MSafeAppHelper } from '@/apps/interface';\nimport { CoinTransferIntention, CoinTransferIntentionData } from '@/apps/msafe-core/coin-transfer';\n\nimport { ObjectTransferIntention, ObjectTransferIntentionData } from './object-transfer';\n\nexport type CoreIntention = CoinTransferIntention | ObjectTransferIntention;\n\nexport type CoreIntentionData = CoinTransferIntentionData | ObjectTransferIntentionData;\n\nexport class CoreHelper implements MSafeAppHelper<CoreIntention, CoreIntentionData> {\n application: string;\n\n constructor() {\n this.application = 'msafe-core';\n }\n\n deserialize(): CoreIntention {\n throw new Error('MSafe core transaction intention should be build from API');\n }\n\n async build(input: {\n intentionData: CoreIntentionData;\n txType: TransactionType;\n txSubType: string;\n suiClient: SuiClient;\n account: WalletAccount;\n }): Promise<TransactionBlock> {\n const { suiClient, account } = input;\n let intention: CoreIntention;\n switch (input.txSubType) {\n case 'coin-transfer':\n intention = CoinTransferIntention.fromData(input.intentionData as CoinTransferIntentionData);\n break;\n case 'object-transfer':\n intention = ObjectTransferIntention.fromData(input.intentionData as ObjectTransferIntentionData);\n break;\n default:\n throw new Error('not implemented');\n }\n return intention.build({ suiClient, account });\n }\n}\n","import { TransactionType } from '@msafe/sui3-utils';\nimport { SuiClient } from '@mysten/sui.js/client';\nimport { SuiSignTransactionBlockInput, WalletAccount } from '@mysten/wallet-standard';\n\nimport { MSafeAppHelper } from '@/apps/interface';\n\nexport class MSafeApps {\n apps: Map<string, MSafeAppHelper<any, any>>;\n\n constructor(apps: MSafeAppHelper<any, any>[]) {\n this.apps = new Map(apps.map((app) => [app.application, app]));\n }\n\n getAppHelper(appName: string): MSafeAppHelper<any, any> {\n const app = this.apps.get(appName);\n if (!app) {\n throw new Error(`${appName} not registered`);\n }\n return app;\n }\n\n deserialize(appName: string, input: SuiSignTransactionBlockInput) {\n return this.getAppHelper(appName).deserialize(input);\n }\n\n build(\n appName: string,\n input: {\n intentionData: any;\n txType: TransactionType;\n txSubType: string;\n suiClient: SuiClient;\n account: WalletAccount;\n },\n ) {\n return this.getAppHelper(appName).build(input);\n }\n}\n","import { CoreHelper } from '@/apps/msafe-core/helper';\nimport { MSafeApps } from '@/apps/registry';\n\nexport const appHelpers = new MSafeApps([new CoreHelper()]);\n"],"mappings":";AAAA,SAA0B,4BAA4B;;;ACItD,OAAO,cAAc;AAId,IAAe,oBAAf,MAAuE;AAAA,EAKlE,YAA4B,MAAS;AAAT;AAAA,EAAU;AAAA,EAEhD,IAAI,cAAc;AAChB,WAAO;AAAA,EACT;AAAA,EAEA,YAAY;AACV,WAAO,KAAK,UAAU,SAAS,KAAK,IAAI,CAAC;AAAA,EAC3C;AAGF;;;ADXO,IAAM,wBAAN,MAAM,+BAA8B,kBAA6C;AAAA,EAKtF,YAA4B,MAAiC;AAC3D,UAAM,IAAI;AADgB;AAAA,EAE5B;AAAA,EANA;AAAA,EAEA;AAAA,EAMA,MAAM,MAAM,OAAoF;AAC9F,UAAM,EAAE,WAAW,QAAQ,IAAI;AAC/B,WAAO,qBAAqB,WAAW,KAAK,MAAM,QAAQ,OAAO;AAAA,EACnE;AAAA,EAEA,OAAO,SAAS,MAAiC;AAC/C,WAAO,IAAI,uBAAsB,IAAI;AAAA,EACvC;AACF;;;AE9BA,SAA0B,8BAA8B;AAajD,IAAM,0BAAN,MAAM,iCAAgC,kBAA+C;AAAA,EAK1F,YAA4B,MAAmC;AAC7D,UAAM,IAAI;AADgB;AAAA,EAE5B;AAAA,EANA;AAAA,EAEA;AAAA,EAMA,MAAM,MAAM,OAAoF;AAC9F,UAAM,EAAE,WAAW,QAAQ,IAAI;AAC/B,WAAO,uBAAuB,WAAW,KAAK,MAAM,QAAQ,OAAO;AAAA,EACrE;AAAA,EAEA,OAAO,SAAS,MAAmC;AACjD,WAAO,IAAI,yBAAwB,IAAI;AAAA,EACzC;AACF;;;AChBO,IAAM,aAAN,MAA6E;AAAA,EAClF;AAAA,EAEA,cAAc;AACZ,SAAK,cAAc;AAAA,EACrB;AAAA,EAEA,cAA6B;AAC3B,UAAM,IAAI,MAAM,2DAA2D;AAAA,EAC7E;AAAA,EAEA,MAAM,MAAM,OAMkB;AAC5B,UAAM,EAAE,WAAW,QAAQ,IAAI;AAC/B,QAAI;AACJ,YAAQ,MAAM,WAAW;AAAA,MACvB,KAAK;AACH,oBAAY,sBAAsB,SAAS,MAAM,aAA0C;AAC3F;AAAA,MACF,KAAK;AACH,oBAAY,wBAAwB,SAAS,MAAM,aAA4C;AAC/F;AAAA,MACF;AACE,cAAM,IAAI,MAAM,iBAAiB;AAAA,IACrC;AACA,WAAO,UAAU,MAAM,EAAE,WAAW,QAAQ,CAAC;AAAA,EAC/C;AACF;;;ACxCO,IAAM,YAAN,MAAgB;AAAA,EACrB;AAAA,EAEA,YAAY,MAAkC;AAC5C,SAAK,OAAO,IAAI,IAAI,KAAK,IAAI,CAAC,QAAQ,CAAC,IAAI,aAAa,GAAG,CAAC,CAAC;AAAA,EAC/D;AAAA,EAEA,aAAa,SAA2C;AACtD,UAAM,MAAM,KAAK,KAAK,IAAI,OAAO;AACjC,QAAI,CAAC,KAAK;AACR,YAAM,IAAI,MAAM,GAAG,OAAO,iBAAiB;AAAA,IAC7C;AACA,WAAO;AAAA,EACT;AAAA,EAEA,YAAY,SAAiB,OAAqC;AAChE,WAAO,KAAK,aAAa,OAAO,EAAE,YAAY,KAAK;AAAA,EACrD;AAAA,EAEA,MACE,SACA,OAOA;AACA,WAAO,KAAK,aAAa,OAAO,EAAE,MAAM,KAAK;AAAA,EAC/C;AACF;;;AClCO,IAAM,aAAa,IAAI,UAAU,CAAC,IAAI,WAAW,CAAC,CAAC;","names":[]}
1
+ {"version":3,"sources":["../src/apps/msafe-core/helper.ts","../src/apps/msafe-core/coin-transfer.ts","../src/apps/msafe-core/intention.ts","../src/apps/msafe-core/object-transfer.ts","../src/apps/msafe-core/plain-payload.ts","../src/apps/registry.ts","../src/index.ts"],"sourcesContent":["import { TransactionDefaultApplication, TransactionSubTypes, TransactionType } from '@msafe/sui3-utils';\nimport { SuiClient } from '@mysten/sui.js/client';\nimport { TransactionBlock } from '@mysten/sui.js/transactions';\nimport { WalletAccount } from '@mysten/wallet-standard';\n\nimport { MSafeAppHelper } from '@/apps/interface';\nimport { CoinTransferIntention, CoinTransferIntentionData } from '@/apps/msafe-core/coin-transfer';\n\nimport { ObjectTransferIntention, ObjectTransferIntentionData } from './object-transfer';\nimport { PlainPayloadIntention, PlainPayloadIntentionData } from './plain-payload';\n\nexport type CoreIntention = CoinTransferIntention | ObjectTransferIntention | PlainPayloadIntention;\n\nexport type CoreIntentionData = CoinTransferIntentionData | ObjectTransferIntentionData | PlainPayloadIntentionData;\n\nexport class CoreHelper implements MSafeAppHelper<CoreIntention, CoreIntentionData> {\n application: string;\n\n constructor() {\n this.application = TransactionDefaultApplication;\n }\n\n deserialize(): CoreIntention {\n throw new Error('MSafe core transaction intention should be build from API');\n }\n\n async build(input: {\n intentionData: CoreIntentionData;\n txType: TransactionType;\n txSubType: string;\n suiClient: SuiClient;\n account: WalletAccount;\n }): Promise<TransactionBlock> {\n const { suiClient, account } = input;\n let intention: CoreIntention;\n switch (input.txSubType) {\n case TransactionSubTypes.assets.coin.send:\n intention = CoinTransferIntention.fromData(input.intentionData as CoinTransferIntentionData);\n break;\n case TransactionSubTypes.assets.object.send:\n intention = ObjectTransferIntention.fromData(input.intentionData as ObjectTransferIntentionData);\n break;\n case TransactionSubTypes.others.plain:\n intention = PlainPayloadIntention.fromData(input.intentionData as PlainPayloadIntentionData);\n break;\n default:\n throw new Error('not implemented');\n }\n return intention.build({ suiClient, account });\n }\n}\n","import { TransactionType, buildCoinTransferTxb } from '@msafe/sui3-utils';\nimport { SuiClient } from '@mysten/sui.js/client';\nimport { TransactionBlock } from '@mysten/sui.js/transactions';\nimport { WalletAccount } from '@mysten/wallet-standard';\n\nimport { CoreBaseIntention } from '@/apps/msafe-core/intention';\n\nexport interface CoinTransferIntentionData {\n recipient: string;\n coinType: string;\n amount: string;\n}\n\nexport class CoinTransferIntention extends CoreBaseIntention<CoinTransferIntentionData> {\n txType: TransactionType.Assets;\n\n txSubType: 'SendCoin';\n\n constructor(public readonly data: CoinTransferIntentionData) {\n super(data);\n }\n\n async build(input: { suiClient: SuiClient; account: WalletAccount }): Promise<TransactionBlock> {\n const { suiClient, account } = input;\n return buildCoinTransferTxb(suiClient, this.data, account.address);\n }\n\n static fromData(data: CoinTransferIntentionData) {\n return new CoinTransferIntention(data);\n }\n}\n","import { TransactionType } from '@msafe/sui3-utils';\nimport { SuiClient } from '@mysten/sui.js/client';\nimport { TransactionBlock } from '@mysten/sui.js/transactions';\nimport { WalletAccount } from '@mysten/wallet-standard';\nimport sortKeys from 'sort-keys-recursive';\n\nimport { TransactionIntention } from '@/apps/interface';\n\nexport abstract class CoreBaseIntention<D> implements TransactionIntention<D> {\n abstract txType: TransactionType;\n\n abstract txSubType: string;\n\n protected constructor(public readonly data: D) {}\n\n get application() {\n return 'msafe-core';\n }\n\n serialize() {\n return JSON.stringify(sortKeys(this.data));\n }\n\n abstract build(input: { suiClient: SuiClient; account: WalletAccount }): Promise<TransactionBlock>;\n}\n","import { TransactionType, buildObjectTransferTxb } from '@msafe/sui3-utils';\nimport { SuiClient } from '@mysten/sui.js/client';\nimport { TransactionBlock } from '@mysten/sui.js/transactions';\nimport { WalletAccount } from '@mysten/wallet-standard';\n\nimport { CoreBaseIntention } from '@/apps/msafe-core/intention';\n\nexport interface ObjectTransferIntentionData {\n receiver: string;\n objectType: string;\n objectId: string;\n}\n\nexport class ObjectTransferIntention extends CoreBaseIntention<ObjectTransferIntentionData> {\n txType: TransactionType.Assets;\n\n txSubType: 'SendObject';\n\n constructor(public readonly data: ObjectTransferIntentionData) {\n super(data);\n }\n\n async build(input: { suiClient: SuiClient; account: WalletAccount }): Promise<TransactionBlock> {\n const { suiClient, account } = input;\n return buildObjectTransferTxb(suiClient, this.data, account.address);\n }\n\n static fromData(data: ObjectTransferIntentionData) {\n return new ObjectTransferIntention(data);\n }\n}\n","import { TransactionType, isSameAddress } from '@msafe/sui3-utils';\nimport { SuiClient } from '@mysten/sui.js/client';\nimport { TransactionBlock } from '@mysten/sui.js/transactions';\nimport { WalletAccount } from '@mysten/wallet-standard';\n\nimport { CoreBaseIntention } from '@/apps/msafe-core/intention';\n\nexport interface PlainPayloadIntentionData {\n content: string;\n}\n\nexport class PlainPayloadIntention extends CoreBaseIntention<PlainPayloadIntentionData> {\n txType: TransactionType.Other;\n\n txSubType: 'PlainPayload';\n\n constructor(public readonly data: PlainPayloadIntentionData) {\n super(data);\n }\n\n async build(input: { suiClient: SuiClient; account: WalletAccount }): Promise<TransactionBlock> {\n const { account } = input;\n const tb = TransactionBlock.from(this.data.content);\n\n if (!isSameAddress(tb.blockData.sender, account.address)) {\n throw new Error('Invalid sender address');\n }\n\n return tb;\n }\n\n static fromData(data: PlainPayloadIntentionData) {\n return new PlainPayloadIntention(data);\n }\n}\n","import { TransactionType } from '@msafe/sui3-utils';\nimport { SuiClient } from '@mysten/sui.js/client';\nimport { SuiSignTransactionBlockInput, WalletAccount } from '@mysten/wallet-standard';\n\nimport { MSafeAppHelper } from '@/apps/interface';\n\nexport class MSafeApps {\n apps: Map<string, MSafeAppHelper<any, any>>;\n\n constructor(apps: MSafeAppHelper<any, any>[]) {\n this.apps = new Map(apps.map((app) => [app.application, app]));\n }\n\n getAppHelper(appName: string): MSafeAppHelper<any, any> {\n const app = this.apps.get(appName);\n if (!app) {\n throw new Error(`${appName} not registered`);\n }\n return app;\n }\n\n deserialize(appName: string, input: SuiSignTransactionBlockInput) {\n return this.getAppHelper(appName).deserialize(input);\n }\n\n build(\n appName: string,\n input: {\n intentionData: any;\n txType: TransactionType;\n txSubType: string;\n suiClient: SuiClient;\n account: WalletAccount;\n },\n ) {\n return this.getAppHelper(appName).build(input);\n }\n}\n","import { CoreHelper } from '@/apps/msafe-core/helper';\nimport { MSafeApps } from '@/apps/registry';\n\nexport const appHelpers = new MSafeApps([new CoreHelper()]);\n"],"mappings":"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","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@msafe/sui-app-store",
3
- "version": "0.0.7",
3
+ "version": "0.0.8",
4
4
  "description": "MSafe Sui app store repository",
5
5
  "author": "Momentum Safe",
6
6
  "license": "MIT",
@@ -48,7 +48,7 @@
48
48
  "sort-keys-recursive": "^2.1.10"
49
49
  },
50
50
  "devDependencies": {
51
- "@msafe/sui3-utils": "^3.1.18",
51
+ "@msafe/sui3-utils": "^3.1.35",
52
52
  "@mysten/sui.js": "^0.49.1",
53
53
  "@mysten/wallet-standard": "^0.10.1",
54
54
  "@types/jest": "^29.2.1",