@canton-network/wallet-gateway-remote 0.23.1 → 0.25.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.
Files changed (53) hide show
  1. package/dist/config/Config.d.ts +28 -0
  2. package/dist/config/Config.d.ts.map +1 -1
  3. package/dist/config/Config.js +17 -0
  4. package/dist/example-config.d.ts +4 -0
  5. package/dist/example-config.d.ts.map +1 -1
  6. package/dist/example-config.js +4 -0
  7. package/dist/index.d.ts +2 -1
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js +18 -5
  10. package/dist/ledger/wallet-sync-service.d.ts.map +1 -1
  11. package/dist/ledger/wallet-sync-service.js +11 -8
  12. package/dist/web/frontend/404/index.html +2 -2
  13. package/dist/web/frontend/{transactions → activities}/index.html +6 -7
  14. package/dist/web/frontend/approve/index.html +6 -7
  15. package/dist/web/frontend/assets/404-F1JWultf.js +5 -0
  16. package/dist/web/frontend/assets/activities-Da48Liee.js +59 -0
  17. package/dist/web/frontend/assets/addIdentityProvider-DC3NxrKJ.js +35 -0
  18. package/dist/web/frontend/assets/addNetwork-Dr3W42IN.js +38 -0
  19. package/dist/web/frontend/assets/addParty-C6FKG-e0.js +38 -0
  20. package/dist/web/frontend/assets/approve-BcD3DHcB.js +21 -0
  21. package/dist/web/frontend/assets/{callback-5r0xYoAY.js → callback-OyzKCduG.js} +1 -1
  22. package/dist/web/frontend/assets/identityProviders-CNGCwCMd.js +71 -0
  23. package/dist/web/frontend/assets/index-6feHRhfj.js +3901 -0
  24. package/dist/web/frontend/assets/{index-C4_-rNJw.js → index-CH8oXI5W.js} +1 -1
  25. package/dist/web/frontend/assets/{index-NP2zGQqX.js → index-CiMGhYb1.js} +2 -2
  26. package/dist/web/frontend/assets/login-DcYD5VED.js +10 -0
  27. package/dist/web/frontend/assets/networks--1UXXt0J.js +73 -0
  28. package/dist/web/frontend/assets/parties-CjUMJ1Qt.js +91 -0
  29. package/dist/web/frontend/assets/reviewIdentityProvider-BT1CChnu.js +43 -0
  30. package/dist/web/frontend/assets/reviewNetwork-CGV3UYev.js +43 -0
  31. package/dist/web/frontend/assets/{settings-lXZlQ6-V.js → settings-DnbEcRUK.js} +2 -2
  32. package/dist/web/frontend/assets/state-Da4wx0rb.js +1 -0
  33. package/dist/web/frontend/callback/index.html +2 -2
  34. package/dist/web/frontend/identity-providers/add/index.html +16 -0
  35. package/dist/web/frontend/{wallets → identity-providers}/index.html +5 -6
  36. package/dist/web/frontend/identity-providers/review/index.html +16 -0
  37. package/dist/web/frontend/index.html +1 -1
  38. package/dist/web/frontend/login/index.html +15 -7
  39. package/dist/web/frontend/networks/add/index.html +16 -0
  40. package/dist/web/frontend/networks/index.html +16 -0
  41. package/dist/web/frontend/networks/review/index.html +16 -0
  42. package/dist/web/frontend/parties/add/index.html +16 -0
  43. package/dist/web/frontend/parties/index.html +16 -0
  44. package/dist/web/frontend/settings/index.html +3 -3
  45. package/package.json +20 -20
  46. package/dist/web/frontend/assets/404-CwWne4gl.js +0 -8
  47. package/dist/web/frontend/assets/approve-sXtkk0nx.js +0 -20
  48. package/dist/web/frontend/assets/index-BY0dSIJ0.js +0 -1698
  49. package/dist/web/frontend/assets/login-DwOvzCWW.js +0 -7
  50. package/dist/web/frontend/assets/state-Zh2baU_h.js +0 -1
  51. package/dist/web/frontend/assets/transactions-gLP4M5t0.js +0 -28
  52. package/dist/web/frontend/assets/utils-CI12TM_E.js +0 -1
  53. package/dist/web/frontend/assets/wallets-Cmwexted.js +0 -62
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@canton-network/wallet-gateway-remote",
3
- "version": "0.23.1",
3
+ "version": "0.25.0",
4
4
  "description": "A server-side Wallet Gateway implementation over HTTP",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -11,7 +11,7 @@
11
11
  "scripts": {
12
12
  "build": "vite build && tsc -b && tsc -b tsconfig.frontend.json",
13
13
  "clean": "tsc -b --clean && rm -rf ./dist && rm ./*.sqlite || true",
14
- "dev": "NODE_ENV=development tsx watch src/index.ts -f pretty -c ../test/config.json",
14
+ "dev": "NODE_ENV=development tsx watch src/index.ts -c ../test/config.json",
15
15
  "test": "yarn node --trace-warnings --experimental-vm-modules $(yarn bin jest)",
16
16
  "start": "yarn node dist/index.js -c ../test/config.json",
17
17
  "debug": "yarn node --inspect-brk dist/index.js -c ../test/config.json",
@@ -37,23 +37,23 @@
37
37
  "access": "public"
38
38
  },
39
39
  "dependencies": {
40
- "@canton-network/core-ledger-client": "^0.33.1",
41
- "@canton-network/core-rpc-errors": "^0.19.2",
42
- "@canton-network/core-rpc-transport": "^0.9.2",
43
- "@canton-network/core-signing-blockdaemon": "^0.25.2",
44
- "@canton-network/core-signing-fireblocks": "^0.25.2",
45
- "@canton-network/core-signing-internal": "^0.28.1",
46
- "@canton-network/core-signing-lib": "^0.27.2",
47
- "@canton-network/core-signing-participant": "^0.28.1",
48
- "@canton-network/core-signing-store-sql": "^0.29.1",
49
- "@canton-network/core-tx-visualizer": "^0.23.2",
50
- "@canton-network/core-types": "^0.23.2",
51
- "@canton-network/core-wallet-auth": "^0.24.2",
52
- "@canton-network/core-wallet-dapp-rpc-client": "^0.29.1",
53
- "@canton-network/core-wallet-store": "^0.28.1",
54
- "@canton-network/core-wallet-store-sql": "^0.28.1",
55
- "@canton-network/core-wallet-ui-components": "^0.29.1",
56
- "@canton-network/core-wallet-user-rpc-client": "^0.29.1",
40
+ "@canton-network/core-ledger-client": "^0.35.0",
41
+ "@canton-network/core-rpc-errors": "^0.21.0",
42
+ "@canton-network/core-rpc-transport": "^0.11.0",
43
+ "@canton-network/core-signing-blockdaemon": "^0.27.0",
44
+ "@canton-network/core-signing-fireblocks": "^0.27.0",
45
+ "@canton-network/core-signing-internal": "^0.30.0",
46
+ "@canton-network/core-signing-lib": "^0.29.0",
47
+ "@canton-network/core-signing-participant": "^0.30.0",
48
+ "@canton-network/core-signing-store-sql": "^0.31.0",
49
+ "@canton-network/core-tx-visualizer": "^0.25.0",
50
+ "@canton-network/core-types": "^0.25.0",
51
+ "@canton-network/core-wallet-auth": "^0.26.0",
52
+ "@canton-network/core-wallet-dapp-rpc-client": "^0.31.0",
53
+ "@canton-network/core-wallet-store": "^0.30.0",
54
+ "@canton-network/core-wallet-store-sql": "^0.30.0",
55
+ "@canton-network/core-wallet-ui-components": "^0.31.0",
56
+ "@canton-network/core-wallet-user-rpc-client": "^0.31.0",
57
57
  "@commander-js/extra-typings": "^14.0.0",
58
58
  "commander": "^14.0.3",
59
59
  "cors": "^2.8.6",
@@ -71,7 +71,7 @@
71
71
  "zod": "^4.3.6"
72
72
  },
73
73
  "devDependencies": {
74
- "@canton-network/core-wallet-store-inmemory": "^0.29.1",
74
+ "@canton-network/core-wallet-store-inmemory": "^0.31.0",
75
75
  "@jest/globals": "^30.2.0",
76
76
  "@swc/core": "^1.15.18",
77
77
  "@swc/jest": "^0.2.39",
@@ -1,8 +0,0 @@
1
- import{w as h,i as z,A as g,b as A,t as E}from"./index-BY0dSIJ0.js";var I=Object.create,s=Object.defineProperty,j=Object.getOwnPropertyDescriptor,x=(r,e)=>(e=Symbol[r])?e:Symbol.for("Symbol."+r),y=r=>{throw TypeError(r)},k=(r,e,a)=>e in r?s(r,e,{enumerable:!0,configurable:!0,writable:!0,value:a}):r[e]=a,D=(r,e)=>s(r,"name",{value:e,configurable:!0}),F=r=>[,,,I(r?.[x("metadata")]??null)],C=["class","method","getter","setter","accessor","field","value","get","set"],w=r=>r!==void 0&&typeof r!="function"?y("Function expected"):r,M=(r,e,a,n,t)=>({kind:C[r],name:e,metadata:n,addInitializer:o=>a._?y("Already initialized"):t.push(w(o||null))}),N=(r,e)=>k(e,x("metadata"),r[3]),T=(r,e,a,n)=>{for(var t=0,o=r[e>>1],i=o&&o.length;t<i;t++)o[t].call(a);return n},$=(r,e,a,n,t,o)=>{var i,p,f,_=e&7,m=!1,b=0,P=r[b]||(r[b]=[]),l=_&&(t=t.prototype,_<5&&(_>3||!m)&&j(t,a));D(t,a);for(var c=n.length-1;c>=0;c--)f=M(_,a,p={},r[3],P),i=(0,n[c])(t,f),p._=1,w(i)&&(t=i);return N(r,t),l&&s(t,a,l),m?_^4?o:l:t},S,v,O;S=[E("user-ui-404")];const u=class u extends(O=h){render(){return A`<not-found href=${g("/")}></not-found>`}};u.styles=[h.styles,z`
2
- :host {
3
- display: block;
4
- max-width: 900px;
5
- margin: 20% auto;
6
- padding: 20px;
7
- }
8
- `];let d=u;v=F(O);d=$(v,0,"NotFoundUi",S,d);T(v,1,d);
@@ -1,20 +0,0 @@
1
- import{o as A,s as g,d as Se,l as M,n as Me,a as te,A as We,T as $e,c as W,e as $,K as se,b as ae,w as Pe,t as De}from"./index-BY0dSIJ0.js";import{r as h}from"./state-Zh2baU_h.js";import{p as Ee}from"./index-NP2zGQqX.js";import{s as C}from"./utils-CI12TM_E.js";import{a as ie,i as Oe}from"./index-C4_-rNJw.js";var P=(e=>(e.CanActAs="CanActAs",e.CanReadAs="CanReadAs",e.CanExecuteAs="CanExecuteAs",e))(P||{}),He=A({baseUrl:g().url()}),Ue=A({id:g(),name:g(),description:g(),synchronizerId:g().includes("::").min(10).optional(),identityProviderId:g(),ledgerApi:He,auth:ie,adminAuth:ie.optional()});A({connection:Se("type",[A({type:M("memory")}),A({type:M("sqlite"),database:g()}),A({type:M("postgres"),host:g(),port:Me(),user:g(),password:g(),database:g()})])});A({idps:te(Oe),networks:te(Ue)});var qe=Object.create,E=Object.defineProperty,Re=Object.getOwnPropertyDescriptor,ce=(e,t)=>(t=Symbol[e])?t:Symbol.for("Symbol."+e),y=e=>{throw TypeError(e)},ze=(e,t,a)=>t in e?E(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,re=(e,t)=>E(e,"name",{value:t,configurable:!0}),Ge=e=>[,,,qe(e?.[ce("metadata")]??null)],de=["class","method","getter","setter","accessor","field","value","get","set"],I=e=>e!==void 0&&typeof e!="function"?y("Function expected"):e,Le=(e,t,a,c,n)=>({kind:de[e],name:t,metadata:c,addInitializer:d=>a._?y("Already initialized"):n.push(I(d||null))}),Ne=(e,t)=>ze(t,ce("metadata"),e[3]),i=(e,t,a,c)=>{for(var n=0,d=e[t>>1],w=d&&d.length;n<w;n++)t&1?d[n].call(a):c=d[n].call(a,c);return c},l=(e,t,a,c,n,d)=>{var w,_,Y,f,x,r=t&7,T=!!(t&8),v=!!(t&16),b=r>3?e.length+1:r?T?1:2:0,Z=de[r+5],ee=r>3&&(e[b-1]=[]),ke=e[b]||(e[b]=[]),m=r&&(!v&&!T&&(n=n.prototype),r<5&&(r>3||!v)&&Re(r<4?n:{get[a](){return ne(this,d)},set[a](u){return oe(this,d,u)}},a));r?v&&r<4&&re(d,(r>2?"set ":r>1?"get ":"")+a):re(n,a);for(var k=c.length-1;k>=0;k--)f=Le(r,a,Y={},e[3],ke),r&&(f.static=T,f.private=v,x=f.access={has:v?u=>Be(n,u):u=>a in u},r^3&&(x.get=v?u=>(r^1?ne:Fe)(u,n,r^4?d:m.get):u=>u[a]),r>2&&(x.set=v?(u,S)=>oe(u,n,S,r^4?d:m.set):(u,S)=>u[a]=S)),_=(0,c[k])(r?r<4?v?d:m[Z]:r>4?void 0:{get:m.get,set:m.set}:n,f),Y._=1,r^4||_===void 0?I(_)&&(r>4?ee.unshift(_):r?v?d=_:m[Z]=_:n=_):typeof _!="object"||_===null?y("Object expected"):(I(w=_.get)&&(m.get=w),I(w=_.set)&&(m.set=w),I(w=_.init)&&ee.unshift(w));return r||Ne(e,n),m&&E(n,a,m),v?r^4?d:m:n},O=(e,t,a)=>t.has(e)||y("Cannot "+a),Be=(e,t)=>Object(t)!==t?y('Cannot use the "in" operator on this value'):e.has(t),ne=(e,t,a)=>(O(e,t,"read from private field"),a?a.call(e):t.get(e)),p=(e,t,a)=>t.has(e)?y("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,a),oe=(e,t,a,c)=>(O(e,t,"write to private field"),c?c.call(e,a):t.set(e,a),a),Fe=(e,t,a)=>(O(e,t,"access private method"),a),le,he,pe,ue,_e,me,ge,we,ve,Ae,ye,fe,Ce,Ie,xe,Te,D,be,s,H,U,q,R,z,G,L,N,B,F,K,j,J,Q,V,X;be=[De("user-ui-approve")];class o extends(D=Pe,Te=[h()],xe=[h()],Ie=[h()],Ce=[h()],fe=[h()],ye=[h()],Ae=[h()],ve=[h()],we=[h()],ge=[h()],me=[h()],_e=[h()],ue=[h()],pe=[h()],he=[h()],le=[h()],D){constructor(){super(...arguments),p(this,H,i(s,8,this,!1)),i(s,11,this),p(this,U,i(s,12,this,!1)),i(s,15,this),p(this,q,i(s,16,this,!1)),i(s,19,this),p(this,R,i(s,20,this,"")),i(s,23,this),p(this,z,i(s,24,this,"")),i(s,27,this),p(this,G,i(s,28,this,"")),i(s,31,this),p(this,L,i(s,32,this,"")),i(s,35,this),p(this,N,i(s,36,this,null)),i(s,39,this),p(this,B,i(s,40,this,"")),i(s,43,this),p(this,F,i(s,44,this,null)),i(s,47,this),p(this,K,i(s,48,this,null)),i(s,51,this),p(this,j,i(s,52,this,null)),i(s,55,this),p(this,J,i(s,56,this,null)),i(s,59,this),p(this,Q,i(s,60,this,null)),i(s,63,this),p(this,V,i(s,64,this,!0)),i(s,67,this),p(this,X,i(s,68,this,null)),i(s,71,this)}connectedCallback(){super.connectedCallback();const t=new URL(window.location.href);this.commandId=t.searchParams.get("commandId")||"",this.updateState()}closeOrGoToList(){this.disabled=!0;const a=new URLSearchParams(window.location.search).has("closeafteraction");setTimeout(()=>{a&&window.opener?window.close():window.location.href=We($e)},2e3)}async updateState(){const t=await W($.accessToken.get());t.request({method:"getTransaction",params:{commandId:this.commandId}}).then(a=>{this.txHash=a.preparedTransactionHash,this.tx=a.preparedTransaction,this.status=a.status,this.createdAt=a.createdAt||null,this.signedAt=a.signedAt||null,this.origin=a.origin||null;try{this.txParsed=Ee(this.tx)}catch(c){console.error("Error parsing prepared transaction:",c),this.txParsed=null}}),t.request({method:"listWallets",params:{}}).then(a=>{const c=a.find(w=>w.primary===!0);this.partyId=c?.partyId||"";const n=c?.rights,d=!!(n?.includes(P.CanActAs)||n?.includes(P.CanExecuteAs));this.canSubmit=d,this.walletCapabilityMessage=d?null:"The selected wallet is read-only for submission (no CanActAs/CanExecuteAs right)."})}get _detailComponent(){return this.renderRoot.querySelector("wg-transaction-detail")}async handleDelete(){if(confirm(`Delete pending transaction "${this.commandId}"?`)){this.isDeleting=!0;try{await(await W($.accessToken.get())).request({method:"deleteTransaction",params:{commandId:this.commandId}}),C("","Transaction deleted successfully","success"),this.closeOrGoToList()}catch(t){se(t)}finally{this.isDeleting=!1}}}async handleApprove(){if(!this.canSubmit){C("Read-only wallet","This wallet can read but cannot submit transactions. Switch to a wallet with CanActAs or CanExecuteAs.","error");return}this.isApproving=!0;try{const t=await W($.accessToken.get()),a=await t.request({method:"sign",params:{commandId:this.commandId,partyId:this.partyId,preparedTransactionHash:this.txHash,preparedTransaction:this.tx}});if(a.status==="pending"){C("Transaction Pending","Complete the signing in your external provider, then click Approve to finish.","info"),await this.updateState();return}else if(a.status==="signed")await t.request({method:"execute",params:{signature:a.signature,signedBy:a.signedBy,commandId:this.commandId,partyId:this.partyId}}),C("","Transaction executed successfully","success"),this.closeOrGoToList();else{const c=a.status==="rejected"?"Transaction was rejected":"Transaction failed";C("",c,"error"),await this.updateState()}}catch(t){console.error(t),se(t,{message:"Error executing transaction"})}finally{this.isApproving=!1}}render(){return ae`
2
- ${this.walletCapabilityMessage?ae`<div class="alert alert-warning" role="alert">
3
- ${this.walletCapabilityMessage}
4
- </div>`:""}
5
- <wg-transaction-detail
6
- .commandId=${this.commandId}
7
- .status=${this.status}
8
- .txHash=${this.txHash}
9
- .tx=${this.tx}
10
- .parsed=${this.txParsed}
11
- .createdAt=${this.createdAt}
12
- .signedAt=${this.signedAt}
13
- .origin=${this.origin}
14
- .isApproving=${this.isApproving}
15
- .isDeleting=${this.isDeleting}
16
- .disabled=${this.disabled}
17
- @transaction-approve=${this.handleApprove}
18
- @transaction-delete=${this.handleDelete}
19
- ></wg-transaction-detail>
20
- `}}s=Ge(D);H=new WeakMap;U=new WeakMap;q=new WeakMap;R=new WeakMap;z=new WeakMap;G=new WeakMap;L=new WeakMap;N=new WeakMap;B=new WeakMap;F=new WeakMap;K=new WeakMap;j=new WeakMap;J=new WeakMap;Q=new WeakMap;V=new WeakMap;X=new WeakMap;l(s,4,"isApproving",Te,o,H);l(s,4,"isDeleting",xe,o,U);l(s,4,"disabled",Ie,o,q);l(s,4,"commandId",Ce,o,R);l(s,4,"partyId",fe,o,z);l(s,4,"txHash",ye,o,G);l(s,4,"tx",Ae,o,L);l(s,4,"txParsed",ve,o,N);l(s,4,"status",we,o,B);l(s,4,"message",ge,o,F);l(s,4,"messageType",me,o,K);l(s,4,"createdAt",_e,o,j);l(s,4,"signedAt",ue,o,J);l(s,4,"origin",pe,o,Q);l(s,4,"canSubmit",he,o,V);l(s,4,"walletCapabilityMessage",le,o,X);o=l(s,0,"ApproveUi",be,o);i(s,1,o);