@rango-dev/wallets-core 0.40.1-next.9 → 0.41.1-next.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 (44) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/hub/store/events.d.ts +54 -0
  3. package/dist/hub/store/events.d.ts.map +1 -0
  4. package/dist/hub/store/extend.d.ts +14 -0
  5. package/dist/hub/store/extend.d.ts.map +1 -0
  6. package/dist/hub/store/mod.d.ts +3 -1
  7. package/dist/hub/store/mod.d.ts.map +1 -1
  8. package/dist/hub/store/mod.js +2 -0
  9. package/dist/hub/store/mod.js.map +7 -0
  10. package/dist/hub/store/namespaces.d.ts +10 -7
  11. package/dist/hub/store/namespaces.d.ts.map +1 -1
  12. package/dist/hub/store/providers.d.ts +9 -5
  13. package/dist/hub/store/providers.d.ts.map +1 -1
  14. package/dist/hub/store/store.d.ts +2 -1
  15. package/dist/hub/store/store.d.ts.map +1 -1
  16. package/dist/legacy/mod.js +1 -1
  17. package/dist/legacy/mod.js.map +2 -2
  18. package/dist/legacy/types.d.ts +19 -15
  19. package/dist/legacy/types.d.ts.map +1 -1
  20. package/dist/legacy/wallet.d.ts +5 -3
  21. package/dist/legacy/wallet.d.ts.map +1 -1
  22. package/dist/mod.js +1 -1
  23. package/dist/mod.js.map +4 -4
  24. package/dist/namespaces/common/mod.js +1 -1
  25. package/dist/namespaces/common/mod.js.map +1 -1
  26. package/dist/namespaces/evm/builders.d.ts.map +1 -1
  27. package/dist/namespaces/evm/mod.js +1 -1
  28. package/dist/namespaces/evm/mod.js.map +3 -3
  29. package/dist/namespaces/solana/builders.d.ts.map +1 -1
  30. package/dist/namespaces/solana/mod.js +1 -1
  31. package/dist/namespaces/solana/mod.js.map +3 -3
  32. package/dist/wallets-core.build.json +1 -1
  33. package/package.json +8 -4
  34. package/src/hub/store/events.ts +89 -0
  35. package/src/hub/store/extend.ts +125 -0
  36. package/src/hub/store/mod.ts +14 -1
  37. package/src/hub/store/namespaces.ts +102 -19
  38. package/src/hub/store/providers.ts +33 -9
  39. package/src/hub/store/store.test.ts +1 -1
  40. package/src/hub/store/store.ts +6 -2
  41. package/src/legacy/types.ts +26 -17
  42. package/src/legacy/wallet.ts +12 -6
  43. package/src/namespaces/evm/builders.ts +6 -2
  44. package/src/namespaces/solana/builders.ts +6 -2
@@ -59,8 +59,10 @@ export declare enum Networks {
59
59
  UMEE = "UMEE",
60
60
  STARKNET = "STARKNET",
61
61
  TON = "TON",
62
+ BASE = "BASE",
62
63
  Unknown = "Unkown"
63
64
  }
65
+ type InstanceType = any;
64
66
  export type NamespaceData = {
65
67
  namespace: Namespace;
66
68
  derivationPath?: string;
@@ -115,10 +117,10 @@ export type State = {
115
117
  export type ConnectResult = {
116
118
  accounts: string[] | null;
117
119
  network: Network | null;
118
- provider: any;
120
+ provider: InstanceType;
119
121
  };
120
122
  export type Providers = {
121
- [type in WalletType]?: any;
123
+ [type in WalletType]?: InstanceType;
122
124
  };
123
125
  export declare enum Events {
124
126
  CONNECTED = "connected",
@@ -126,7 +128,9 @@ export declare enum Events {
126
128
  REACHABLE = "reachable",
127
129
  INSTALLED = "installed",
128
130
  ACCOUNTS = "accounts",
129
- NETWORK = "network"
131
+ NETWORK = "network",
132
+ NAMESPACE_DISCONNECTED = "namespace_disconnected",
133
+ PROVIDER_DISCONNECTED = "provider_disconnected"
130
134
  }
131
135
  export type ProviderConnectResult = {
132
136
  accounts: string[];
@@ -134,7 +138,7 @@ export type ProviderConnectResult = {
134
138
  };
135
139
  export type GetInstanceOptions = {
136
140
  network?: Network;
137
- currentProvider: any;
141
+ currentProvider: InstanceType;
138
142
  meta: BlockchainMeta[];
139
143
  getState: () => WalletState;
140
144
  /**
@@ -146,21 +150,21 @@ export type GetInstanceOptions = {
146
150
  force?: boolean;
147
151
  updateChainId: (chainId: number | string) => void;
148
152
  };
149
- export type GetInstance = (() => any) | ((options: GetInstanceOptions) => Promise<any>);
150
- export type TryGetInstance = (() => any) | ((options: Pick<GetInstanceOptions, 'force' | 'network'>) => Promise<any>);
153
+ export type GetInstance = (() => InstanceType) | ((options: GetInstanceOptions) => Promise<InstanceType>);
154
+ export type TryGetInstance = (() => InstanceType) | ((options: Pick<GetInstanceOptions, 'force' | 'network'>) => Promise<InstanceType>);
151
155
  export type Connect = (options: {
152
- instance: any;
156
+ instance: InstanceType;
153
157
  network?: Network;
154
158
  meta: BlockchainMeta[];
155
159
  namespaces?: NamespaceData[];
156
160
  }) => Promise<ProviderConnectResult | ProviderConnectResult[]>;
157
161
  export type Disconnect = (options: {
158
- instance: any;
162
+ instance: InstanceType;
159
163
  destroyInstance: () => void;
160
164
  }) => Promise<void>;
161
165
  type CleanupSubscribe = () => void;
162
166
  export type Subscribe = (options: {
163
- instance: any;
167
+ instance: InstanceType;
164
168
  state: WalletState;
165
169
  meta: BlockchainMeta[];
166
170
  updateChainId: (chainId: string) => void;
@@ -169,7 +173,7 @@ export type Subscribe = (options: {
169
173
  disconnect: () => void;
170
174
  }) => CleanupSubscribe | void;
171
175
  export type SwitchNetwork = (options: {
172
- instance: any;
176
+ instance: InstanceType;
173
177
  network: Network;
174
178
  meta: BlockchainMeta[];
175
179
  newInstance?: TryGetInstance;
@@ -177,17 +181,17 @@ export type SwitchNetwork = (options: {
177
181
  updateChainId: (chainId: string) => void;
178
182
  }) => Promise<void>;
179
183
  export type Suggest = (options: {
180
- instance: any;
184
+ instance: InstanceType;
181
185
  network: Network;
182
186
  meta: BlockchainMeta[];
183
187
  }) => Promise<void>;
184
188
  export type CanSwitchNetwork = (options: {
185
189
  network: Network;
186
190
  meta: BlockchainMeta[];
187
- provider: any;
191
+ provider: InstanceType;
188
192
  }) => boolean;
189
193
  export type CanEagerConnect = (options: {
190
- instance: any;
194
+ instance: InstanceType;
191
195
  meta: BlockchainMeta[];
192
196
  }) => Promise<boolean>;
193
197
  export type EagerConnectResult<I = unknown> = {
@@ -197,12 +201,12 @@ export type EagerConnectResult<I = unknown> = {
197
201
  };
198
202
  export interface WalletActions {
199
203
  connect: Connect;
200
- getInstance: any;
204
+ getInstance: InstanceType;
201
205
  disconnect?: Disconnect;
202
206
  subscribe?: Subscribe;
203
207
  suggest?: Suggest;
204
208
  switchNetwork?: SwitchNetwork;
205
- getSigners: (provider: any) => Promise<SignerFactory>;
209
+ getSigners: (provider: InstanceType) => Promise<SignerFactory>;
206
210
  canSwitchNetworkTo?: CanSwitchNetwork;
207
211
  canEagerConnect?: CanEagerConnect;
208
212
  getWalletInfo(allBlockChains: BlockchainMeta[]): WalletInfo;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/legacy/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/legacy/types.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { EagerConnectResult, NamespaceData, Network, WalletActions, WalletConfig, WalletType } from './types.js';
2
+ import type { Namespace } from '../namespaces/common/types.js';
2
3
  import type { BlockchainMeta } from 'rango-types';
3
4
  import { Events } from './types.js';
4
5
  export type EventHandler = (type: WalletType, event: Events, value: any, coreState: State, info: EventInfo) => void;
@@ -6,6 +7,7 @@ export type EventInfo = {
6
7
  supportedBlockchains: BlockchainMeta[];
7
8
  isContractWallet: boolean;
8
9
  isHub: boolean;
10
+ namespace?: Namespace;
9
11
  };
10
12
  export interface State {
11
13
  connected: boolean;
@@ -42,11 +44,11 @@ declare class Wallet<InstanceType = any> {
42
44
  }>;
43
45
  disconnect(): Promise<void>;
44
46
  eagerConnect(): Promise<EagerConnectResult<InstanceType>>;
45
- getSigners(provider: any): Promise<import("rango-types").SignerFactory>;
47
+ getSigners(provider: InstanceType): Promise<import("rango-types").SignerFactory>;
46
48
  getWalletInfo(allBlockChains: BlockchainMeta[]): import("./types.js").WalletInfo;
47
- canSwitchNetworkTo(network: Network, provider: any): boolean;
49
+ canSwitchNetworkTo(network: Network, provider: InstanceType): boolean;
48
50
  onInit(): void;
49
- setProvider(value: any): void;
51
+ setProvider(value: InstanceType | null): void;
50
52
  setInfo(info: Partial<EventInfo>): void;
51
53
  setHandler(handler: EventHandler): void;
52
54
  getState(): State;
@@ -1 +1 @@
1
- {"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../../src/legacy/wallet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAElB,aAAa,EACb,OAAO,EACP,aAAa,EACb,YAAY,EACZ,UAAU,EACX,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAOlD,OAAO,EAAE,MAAM,EAAY,MAAM,YAAY,CAAC;AAG9C,MAAM,MAAM,YAAY,GAAG,CACzB,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,GAAG,EACV,SAAS,EAAE,KAAK,EAChB,IAAI,EAAE,SAAS,KACZ,IAAI,CAAC;AAEV,MAAM,MAAM,SAAS,GAAG;IACtB,oBAAoB,EAAE,cAAc,EAAE,CAAC;IACvC,gBAAgB,EAAE,OAAO,CAAC;IAE1B,KAAK,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,MAAM,WAAW,KAAK;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC1B,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,YAAY,CAAC;CACvB;AAED,cAAM,MAAM,CAAC,YAAY,GAAG,GAAG;IACtB,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAC;IACrC,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,IAAI,CAAY;IACxB,OAAO,CAAC,gBAAgB,CAAC,CAAsB;gBAEnC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa;IAwB9C,iBAAiB,CAAC,OAAO,EAAE,OAAO;;;;;IAWlC,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,aAAa,EAAE;;;;;IAqKvD,UAAU;IAeV,YAAY,IAAI,OAAO,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;IA0BzD,UAAU,CAAC,QAAQ,EAAE,GAAG;IAG9B,aAAa,CAAC,cAAc,EAAE,cAAc,EAAE;IAG9C,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG;IAalD,MAAM;IAsBN,WAAW,CAAC,KAAK,EAAE,GAAG;IAkCtB,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC;IAShC,UAAU,CAAC,OAAO,EAAE,YAAY;IAIhC,QAAQ,IAAI,KAAK;IAIjB,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC;IAiDlC,UAAU;YAUI,sBAAsB;IAmBpC,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,cAAc;YAUR,cAAc;CA2C7B;AAED,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../../src/legacy/wallet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAElB,aAAa,EACb,OAAO,EACP,aAAa,EACb,YAAY,EACZ,UAAU,EACX,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAOlD,OAAO,EAAE,MAAM,EAAY,MAAM,YAAY,CAAC;AAG9C,MAAM,MAAM,YAAY,GAAG,CACzB,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,MAAM,EAEb,KAAK,EAAE,GAAG,EACV,SAAS,EAAE,KAAK,EAChB,IAAI,EAAE,SAAS,KACZ,IAAI,CAAC;AAEV,MAAM,MAAM,SAAS,GAAG;IACtB,oBAAoB,EAAE,cAAc,EAAE,CAAC;IACvC,gBAAgB,EAAE,OAAO,CAAC;IAG1B,KAAK,EAAE,OAAO,CAAC;IAEf,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,CAAC;AAEF,MAAM,WAAW,KAAK;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC1B,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,YAAY,CAAC;CACvB;AAGD,cAAM,MAAM,CAAC,YAAY,GAAG,GAAG;IACtB,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAC;IACrC,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,IAAI,CAAY;IACxB,OAAO,CAAC,gBAAgB,CAAC,CAAsB;gBAEnC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa;IAwB9C,iBAAiB,CAAC,OAAO,EAAE,OAAO;;;;;IAWlC,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,aAAa,EAAE;;;;;IAqKvD,UAAU;IAeV,YAAY,IAAI,OAAO,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;IA0BzD,UAAU,CAAC,QAAQ,EAAE,YAAY;IAGvC,aAAa,CAAC,cAAc,EAAE,cAAc,EAAE;IAG9C,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY;IAa3D,MAAM;IAsBN,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAkCtC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC;IAShC,UAAU,CAAC,OAAO,EAAE,YAAY;IAIhC,QAAQ,IAAI,KAAK;IAIjB,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC;IAiDlC,UAAU;YAUI,sBAAsB;IAmBpC,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,cAAc;YAUR,cAAc;CA2C7B;AAED,eAAe,MAAM,CAAC"}
package/dist/mod.js CHANGED
@@ -1,2 +1,2 @@
1
- var O=Object.defineProperty;var i=(n,e)=>O(n,"name",{value:e,configurable:!0});function b(n){return n.constructor.name==="AsyncFunction"}i(b,"isAsync");function f(n,e){return`${n}$$${e}`}i(f,"generateStoreId");var h=i(n=>`Couldn't find "${n}" action. Are you sure you've added the action?`,"ACTION_NOT_FOUND_ERROR"),C=i(n=>`An error occurred during running ${n}`,"OR_ELSE_ACTION_FAILED_ERROR"),P="For setup store, you should set `store` first.";var p=class{static{i(this,"Namespace")}namespaceId;providerId;#e;#r=new Map;#s=new Map;#t=new Map;#o=new Map;#n=!1;#i;#c;constructor(e,t,r){let{configs:o,actions:s}=r;this.namespaceId=e,this.providerId=t,this.#c=o||new Map,this.#e=s,r.store&&this.store(r.store)}init(){if(this.#n)return;let e=this.#e.get("init");e&&e(this.#a()),this.#n=!0}state(){let e=this.#i;if(!e)throw new Error("You need to set your store using `.store` method first.");let t=this.#h();return[i(s=>{let a=e.getState().namespaces.getNamespaceData(t);return s?a[s]:a},"getState"),i((s,a)=>{e.getState().namespaces.updateStatus(t,s,a)},"setState")]}store(e){return this.#i&&console.warn("You've already set an store for your Namespace. Old store will be replaced by the new one."),this.#i=e,this.#y(),this}and_then(e,t){let r=this.#r.get(e)||[];return this.#r.set(e,r.concat(t)),this}or_else(e,t){let r=this.#s.get(e)||[];return this.#s.set(e,r.concat(t)),this}after(e,t,r){let o=this.#o.get(e)||[],s={hook:t,options:{context:r?.context}};return this.#o.set(e,o.concat(s)),this}before(e,t,r){let o=this.#t.get(e)||[],s={hook:t,options:{context:r?.context}};return this.#t.set(e,o.concat(s)),this}run(e,...t){let r=this.#e.get(e);if(!r)throw new Error(h(e.toString()));return b(r)?this.#l(e,t):this.#p(e,t)}#p(e,t){this.#u(e);let r=this.#e.get(e);if(!r)throw new Error(h(e.toString()));let o=this.#a(),s;try{s=r(o,...t),s=this.#m(e,s)}catch(a){s=this.#f(e,a)}finally{this.#d(e)}return s}async#l(e,t){this.#u(e);let r=this.#e.get(e);if(!r)throw new Error(h(e.toString()));let o=this.#a();return await r(o,...t).then(s=>this.#m(e,s)).catch(s=>this.#f(e,s)).finally(()=>this.#d(e))}#d(e){let t=this.#o.get(e);t&&t.forEach(r=>{let o=r.options?.context||this.#a();r.hook(o)})}#u(e){let t=this.#t.get(e);t&&t.forEach(r=>{let o=r.options?.context||this.#a();r.hook(o)})}#m(e,t){let r=this.#r.get(e);if(r){let o=this.#a();t=r.reduce((s,a)=>a(o,s),t)}return t}#f(e,t){let r=this.#s.get(e);if(r)try{let o=this.#a();return r.reduce((s,a)=>a(o,s),t)}catch{let s=C(`${e.toString()} for ${this.namespaceId} namespace.`);throw new Error(s,{cause:t})}else throw t}#y(){let e=this.#i;if(!e)throw new Error(P);let t=this.#h();e.getState().namespaces.addNamespace(t,{namespaceId:this.namespaceId,providerId:this.providerId})}#h(){return f(this.providerId,this.namespaceId)}#a(){return{state:this.state.bind(this),action:this.run.bind(this)}}};var E="1.0",d=class{static{i(this,"Provider")}id;version=E;#e;#r=!1;#s={};#t;#o;constructor(e,t,r,o){this.id=e,this.#o=r,this.#s=o?.extendInternalActions||{},this.#e=t,o?.store&&(this.#t=o.store,this.#i())}init(){if(this.#r)return;let e=this.#s.init;e&&e(this.#c()),this.#r=!0}state(){let e=this.#t;if(!e)throw new Error(`Any store detected for ${this.id}. You need to set your store using '.store' method first.`);return[i(o=>{let s=e.getState().providers.guessNamespacesState(this.id);if(!o)return s;switch(o){case"installed":case"connected":case"connecting":return s[o];default:throw new Error("Unhandled state for provider")}},"getState"),i((o,s)=>{switch(o){case"installed":return e.getState().providers.updateStatus(this.id,o,s);default:throw new Error(`Unhandled state update for provider. (provider id: ${this.id}, state name: ${o})`)}},"setState")]}store(e){return this.#t&&console.warn("You've already set an store for your Provider. Old store will be replaced by the new one."),this.#t=e,this.#i(),this}info(){let e=this.#t;if(!e)throw new Error("You need to set your store using `.store` method first.");return e.getState().providers.list[this.id].config.info}getAll(){return this.#e}get(e){return this.#e.get(e)}findByNamespace(e){let t;return this.#e.forEach(r=>{r.namespaceId===e&&(t=r)}),t}before(e,t){return this.#n("before",e,t),this}after(e,t){return this.#n("after",e,t),this}#n(e,t,r){let o={state:this.state.bind(this)};return this.#e.forEach(s=>{if(e==="after")s.after(t,r,{context:o});else if(e==="before")s.before(t,r,{context:o});else throw new Error(`You hook name is invalid: ${e}`)}),this}#i(){let e=this.#t;if(!e)throw new Error("For setup store, you should set `store` first.");e.getState().providers.addProvider(this.id,this.#o),this.#e.forEach(t=>{t.store(e)})}#c(){return{state:this.state.bind(this)}}};var l=class{static{i(this,"Hub")}#e=new Map;#r;constructor(e){this.#r=e??{}}init(){this.runAll("init")}runAll(e){let t=[],r=this.#e.values();for(let o of r){let s={id:o.id,provider:void 0,namespaces:[]},a=o[e];typeof a=="function"&&(s.provider=a.call(o));let c=o.getAll().values();for(let K of c){let v=K[e];if(typeof v=="function"){let I=v();s.namespaces.push(I)}}t.push(s)}return t}add(e,t){return this.#r.store&&t.store(this.#r.store),this.#e.set(e,t),this}get(e){return this.#e.get(e)}getAll(){return this.#e}state(){let e=this.runAll("state"),t={};return e.forEach(r=>{let o=[];r.namespaces.forEach(a=>{let[c]=a;o.push(c())});let[s]=r.provider;t[r.id]={...s()||{},namespaces:o}}),t}};function u(n,e){let t=n.namespaces.list,r=Object.keys(t).filter(c=>t[c].info.providerId===e),o=n.providers.list[e].data.installed,s=r.length>0?r.some(c=>t[c].data.connected):!1,a=r.length>0?r.some(c=>t[c].data.connecting):!1;return{installed:o,connected:s,connecting:a}}i(u,"guessProviderStateSelector");function m(n,e){return n.namespaces.list[e].data}i(m,"namespaceStateSelector");import{createStore as F}from"zustand/vanilla";var N=i(()=>({config:{}}),"hubStore");import{produce as A}from"immer";var w=i((n,e)=>({list:{},addNamespace:(t,r)=>{let o={data:{accounts:null,network:null,connected:!1,connecting:!1},error:"",info:r};n(A(s=>{s.namespaces.list[t]=o}))},updateStatus:(t,r,o)=>{if(!e().namespaces.list[t])throw new Error(`No namespace with '${t}' found.`);n(A(s=>{s.namespaces.list[t].data[r]=o}))},getNamespaceData(t){return m(e(),t)}}),"namespacesStore");import{produce as T}from"immer";var k=i((n,e)=>({list:{},addProvider:(t,r)=>{let o={data:{installed:!1},error:"",config:r};n(T(s=>{s.providers.list[t]=o}))},updateStatus:(t,r,o)=>{if(!e().providers.list[t])throw new Error(`No namespace namespace with '${t}' found.`);n(T(s=>{s.providers.list[t].data[r]=o}))},guessNamespacesState:t=>u(e(),t)}),"providersStore");var g=i(()=>F((...n)=>({hub:N(...n),providers:k(...n),namespaces:w(...n)})),"createStore");var R=["init","state","after","before","and_then","or_else","store"],y=class{static{i(this,"NamespaceBuilder")}#e;#r;#s=new Map;#t=[];#o;constructor(e,t){this.#e=e,this.#r=t,this.#o={}}config(e,t){return this.#o[e]=t,this}action(e,t){return Array.isArray(e)?(e.forEach(([r,o])=>{this.#s.set(r,o)}),this):typeof e=="object"&&e?.actionName?(this.#t.push(e),this):(t&&this.#s.set(e,t),this)}build(){if(this.#n(this.#o))return this.#p(this.#o);throw new Error("You namespace config isn't valid.")}#n(e){return!0}#i(e){this.#t.forEach(t=>{t.after.forEach(r=>{r.map(o=>{e.after(t.actionName,o)})}),t.before.forEach(r=>{r.map(o=>{e.before(t.actionName,o)})}),t.and.forEach(r=>{r.map(o=>{e.and_then(t.actionName,o)})}),t.or.forEach(r=>{r.map(o=>{e.or_else(t.actionName,o)})})})}#c(){this.#t.forEach(e=>{this.#s.set(e.actionName,e.action)})}#p(e){this.#c();let t=new p(this.#e,this.#r,{configs:e,actions:this.#s});return this.#i(t),new Proxy(t,{get:(o,s)=>{if(typeof s!="string")throw new Error("You can use string as your property on Namespace instance.");let a=t[s];return R.includes(s)?a.bind(t):["string","number"].includes(typeof a)?a:t.run.bind(t,s)},set:()=>{throw new Error("You can not set anything on this object.")}})}};var x=class{static{i(this,"ProviderBuilder")}#e;#r=new Map;#s={};#t={};#o;constructor(e,t){this.#e=e,this.#o=t||{}}add(e,t){return this.#o.store&&t.store(this.#o.store),this.#r.set(e,t),this}config(e,t){return this.#t[e]=t,this}init(e){return this.#s.init=e,this}build(){if(this.#n(this.#t))return new d(this.#e,this.#r,this.#t,{extendInternalActions:this.#s,store:this.#o.store});throw new Error("You need to set all required configs.")}#n(e){return!!e.info}};var S=class{static{i(this,"ActionBuilder")}name;#e=new Map;#r=new Map;#s=new Map;#t=new Map;#o;constructor(e){this.name=e}and(e){return this.#e.has(this.name)||this.#e.set(this.name,[]),this.#e.get(this.name)?.push(e),this}or(e){return this.#r.has(this.name)||this.#r.set(this.name,[]),this.#r.get(this.name)?.push(e),this}before(e){return this.#t.has(this.name)||this.#t.set(this.name,[]),this.#t.get(this.name)?.push(e),this}after(e){return this.#s.has(this.name)||this.#s.set(this.name,[]),this.#s.get(this.name)?.push(e),this}action(e){return this.#o=e,this}build(){if(!this.#o)throw new Error("Your action builder should includes an action.");return{actionName:this.name,action:this.#o,before:this.#t,after:this.#s,and:this.#e,or:this.#r}}};import*as $e from"caip";function V(n,e){if(!e)throw new Error("You should provide a valid semver, e.g 1.0.0.");let t=n.find(([r])=>r===e);if(!t)throw new Error(`You target version hasn't been found. Available versions: ${Object.keys(n).join(", ")}`);return t}i(V,"pickVersion");function j(){let n=[],e={version:(t,r)=>(n.push([t,r]),e),build:()=>n};return e}i(j,"defineVersions");export{S as ActionBuilder,l as Hub,p as Namespace,y as NamespaceBuilder,d as Provider,x as ProviderBuilder,g as createStore,j as defineVersions,u as guessProviderStateSelector,m as namespaceStateSelector,V as pickVersion};
1
+ var R=Object.defineProperty;var i=(a,e)=>R(a,"name",{value:e,configurable:!0});function P(a){return a.constructor.name==="AsyncFunction"}i(P,"isAsync");function l(a,e){return`${a}$$${e}`}i(l,"generateStoreId");var y=i(a=>`Couldn't find "${a}" action. Are you sure you've added the action?`,"ACTION_NOT_FOUND_ERROR"),N=i(a=>`An error occurred during running ${a}`,"OR_ELSE_ACTION_FAILED_ERROR"),w="For setup store, you should set `store` first.";var u=class{static{i(this,"Namespace")}namespaceId;providerId;#e;#r=new Map;#n=new Map;#t=new Map;#o=new Map;#s=!1;#i;#c;constructor(e,t,r){let{configs:o,actions:n}=r;this.namespaceId=e,this.providerId=t,this.#c=o||new Map,this.#e=n,r.store&&this.store(r.store)}init(){if(this.#s)return;let e=this.#e.get("init");e&&e(this.#a()),this.#s=!0}state(){let e=this.#i;if(!e)throw new Error("You need to set your store using `.store` method first.");let t=this.#h();return[i(n=>{let s=e.getState().namespaces.getNamespaceData(t);return n?s[n]:s},"getState"),i((n,s)=>{e.getState().namespaces.updateStatus(t,n,s)},"setState")]}store(e){return this.#i&&console.warn("You've already set an store for your Namespace. Old store will be replaced by the new one."),this.#i=e,this.#l(),this}and_then(e,t){let r=this.#r.get(e)||[];return this.#r.set(e,r.concat(t)),this}or_else(e,t){let r=this.#n.get(e)||[];return this.#n.set(e,r.concat(t)),this}after(e,t,r){let o=this.#o.get(e)||[],n={hook:t,options:{context:r?.context}};return this.#o.set(e,o.concat(n)),this}before(e,t,r){let o=this.#t.get(e)||[],n={hook:t,options:{context:r?.context}};return this.#t.set(e,o.concat(n)),this}run(e,...t){let r=this.#e.get(e);if(!r)throw new Error(y(e.toString()));return P(r)?this.#v(e,t):this.#p(e,t)}#p(e,t){this.#u(e);let r=this.#e.get(e);if(!r)throw new Error(y(e.toString()));let o=this.#a(),n;try{n=r(o,...t),n=this.#m(e,n)}catch(s){n=this.#f(e,s)}finally{this.#d(e)}return n}async#v(e,t){this.#u(e);let r=this.#e.get(e);if(!r)throw new Error(y(e.toString()));let o=this.#a();return await r(o,...t).then(n=>this.#m(e,n)).catch(n=>this.#f(e,n)).finally(()=>this.#d(e))}#d(e){let t=this.#o.get(e);t&&t.forEach(r=>{let o=r.options?.context||this.#a();r.hook(o)})}#u(e){let t=this.#t.get(e);t&&t.forEach(r=>{let o=r.options?.context||this.#a();r.hook(o)})}#m(e,t){let r=this.#r.get(e);if(r){let o=this.#a();t=r.reduce((n,s)=>s(o,n),t)}return t}#f(e,t){let r=this.#n.get(e);if(r)try{let o=this.#a();return r.reduce((n,s)=>s(o,n),t)}catch{let n=N(`${e.toString()} for ${this.namespaceId} namespace.`);throw new Error(n,{cause:t})}else throw t}#l(){let e=this.#i;if(!e)throw new Error(w);let t=this.#h();e.getState().namespaces.addNamespace(t,{namespaceId:this.namespaceId,providerId:this.providerId})}#h(){return l(this.providerId,this.namespaceId)}#a(){return{state:this.state.bind(this),action:this.run.bind(this)}}};var _="1.0",m=class{static{i(this,"Provider")}id;version=_;#e;#r=!1;#n={};#t;#o;constructor(e,t,r,o){this.id=e,this.#o=r,this.#n=o?.extendInternalActions||{},this.#e=t,o?.store&&(this.#t=o.store,this.#i())}init(){if(this.#r)return;let e=this.#n.init;e&&e(this.#c()),this.#r=!0}state(){let e=this.#t;if(!e)throw new Error(`Any store detected for ${this.id}. You need to set your store using '.store' method first.`);return[i(o=>{let n=e.getState().providers.guessNamespacesState(this.id);if(!o)return n;switch(o){case"installed":case"connected":case"connecting":return n[o];default:throw new Error("Unhandled state for provider")}},"getState"),i((o,n)=>{switch(o){case"installed":return e.getState().providers.updateStatus(this.id,o,n);default:throw new Error(`Unhandled state update for provider. (provider id: ${this.id}, state name: ${o})`)}},"setState")]}store(e){return this.#t&&console.warn("You've already set an store for your Provider. Old store will be replaced by the new one."),this.#t=e,this.#i(),this}info(){let e=this.#t;if(!e)throw new Error("You need to set your store using `.store` method first.");return e.getState().providers.list[this.id].config.info}getAll(){return this.#e}get(e){return this.#e.get(e)}findByNamespace(e){let t;return this.#e.forEach(r=>{r.namespaceId===e&&(t=r)}),t}before(e,t){return this.#s("before",e,t),this}after(e,t){return this.#s("after",e,t),this}#s(e,t,r){let o={state:this.state.bind(this)};return this.#e.forEach(n=>{if(e==="after")n.after(t,r,{context:o});else if(e==="before")n.before(t,r,{context:o});else throw new Error(`You hook name is invalid: ${e}`)}),this}#i(){let e=this.#t;if(!e)throw new Error("For setup store, you should set `store` first.");e.getState().providers.addProvider(this.id,this.#o),this.#e.forEach(t=>{t.store(e)})}#c(){return{state:this.state.bind(this)}}};var S=class{static{i(this,"Hub")}#e=new Map;#r;constructor(e){this.#r=e??{}}init(){this.runAll("init")}runAll(e){let t=[],r=this.#e.values();for(let o of r){let n={id:o.id,provider:void 0,namespaces:[]},s=o[e];typeof s=="function"&&(n.provider=s.call(o));let c=o.getAll().values();for(let p of c){let f=p[e];if(typeof f=="function"){let F=f();n.namespaces.push(F)}}t.push(n)}return t}add(e,t){return this.#r.store&&t.store(this.#r.store),this.#e.set(e,t),this}get(e){return this.#e.get(e)}getAll(){return this.#e}state(){let e=this.runAll("state"),t={};return e.forEach(r=>{let o=[];r.namespaces.forEach(s=>{let[c]=s;o.push(c())});let[n]=r.provider;t[r.id]={...n()||{},namespaces:o}}),t}};function d(a,e){let t=a.namespaces.list,r=Object.keys(t).filter(c=>t[c].info.providerId===e),o=a.providers.list[e].data.installed,n=r.length>0?r.some(c=>t[c].data.connected):!1,s=r.length>0?r.some(c=>t[c].data.connecting):!1;return{installed:o,connected:n,connecting:s}}i(d,"guessProviderStateSelector");function v(a,e){return a.namespaces.list[e].data}i(v,"namespaceStateSelector");import{createStore as V}from"zustand/vanilla";function A(a){let e=i(t=>r=>{let o=i((n,s,c)=>{for(let p of n)r(p,s,c)},"executeListener");return t.subscribe((n,s)=>{let c=j(n,s),f=[...E(n),...c];o(f,n,s)}),{flushEvents:()=>{let n=t.getState(),s=E(n);o(s,n,n)}}},"extendedSubscribe");return new Proxy(a,{get:function(t,r,o){return r==="subscribe"?e(t):Reflect.get(t,r,o)}})}i(A,"extend");function E(a){return[...a.providers.events,...a.namespaces.events]}i(E,"tryConsumeEvents");function j(a,e){let t=[];for(let r of Object.keys(a.providers.list)){let o=d(a,r),n=d(e,r);if(n.connecting!==o.connecting){let s={type:"provider_connecting",provider:r,value:o.connecting};t.push(s)}if(!n.connected&&o.connected){let s={type:"provider_connected",provider:r};t.push(s)}if(n.connected&&!o.connected){let s={type:"provider_disconnected",provider:r};t.push(s)}}return t}i(j,"getEventsLike");var T=i(()=>({config:{}}),"hubStore");import{produce as k}from"immer";var h=class{static{i(this,"ConsumableEvents")}#e=[];push(e){this.#e.push(e)}[Symbol.iterator](){return{next:()=>this.#e.length==0?{done:!0,value:void 0}:{done:!1,value:this.#e.shift()}}}};var I=i((a,e)=>({events:new h,list:{},addNamespace:(t,r)=>{let n={data:{accounts:null,network:null,connected:!1,connecting:!1},error:"",info:r};a(k(s=>{s.namespaces.list[t]=n}))},updateStatus:(t,r,o)=>{let n=e().namespaces.list[t];if(!n)throw new Error(`No namespace with '${t}' found.`);e().namespaces._produceEventsWhenUpdatingStatus(n,t,r,o),a(k(s=>{s.namespaces.list[t].data[r]=o}))},getNamespaceData(t){return v(e(),t)},_produceEventsWhenUpdatingStatus:(t,r,o,n)=>{if(o==="accounts")if(Object.is(n,null)||Array.isArray(n)&&n.length===0){if(e().namespaces.list[r].data.connected){let p={type:"namespace_disconnected",provider:t.info.providerId,namespace:t.info.namespaceId};e().namespaces.events.push(p)}}else{let c=e().namespaces.list[r].data.accounts;if(c){if(!(c.sort().toString()===n.sort().toString())){let f={type:"namespace_account_switched",provider:t.info.providerId,namespace:t.info.namespaceId,previousAccounts:c,accounts:n};e().namespaces.events.push(f)}}else{let p={type:"namespace_connected",provider:t.info.providerId,namespace:t.info.namespaceId,accounts:n};e().namespaces.events.push(p)}}else if(o==="network"){let s=e().namespaces.list[r].data.network,c={type:"namespace_network_switched",provider:t.info.providerId,namespace:t.info.namespaceId,network:n,previousNetwork:s};e().namespaces.events.push(c)}}}),"namespacesStore");import{produce as K}from"immer";var O=i((a,e)=>({events:new h,list:{},addProvider:(t,r)=>{let o={data:{installed:!1},error:"",config:r};a(K(n=>{n.providers.list[t]=o}))},updateStatus:(t,r,o)=>{let n=e().providers.list[t];if(!n)throw new Error(`No namespace namespace with '${t}' found.`);e().providers._produceEventsWhenUpdatingStatus(n,t,r,o),a(K(s=>{s.providers.list[t].data[r]=o}))},guessNamespacesState:t=>d(e(),t),_produceEventsWhenUpdatingStatus:(t,r,o,n)=>{if(o==="installed"){let s={type:"provider_detected",provider:r};e().providers.events.push(s)}}}),"providersStore");var C=i(()=>{let a=V((...e)=>({hub:T(...e),providers:O(...e),namespaces:I(...e)}));return A(a)},"createStore");var D=["init","state","after","before","and_then","or_else","store"],g=class{static{i(this,"NamespaceBuilder")}#e;#r;#n=new Map;#t=[];#o;constructor(e,t){this.#e=e,this.#r=t,this.#o={}}config(e,t){return this.#o[e]=t,this}action(e,t){return Array.isArray(e)?(e.forEach(([r,o])=>{this.#n.set(r,o)}),this):typeof e=="object"&&e?.actionName?(this.#t.push(e),this):(t&&this.#n.set(e,t),this)}build(){if(this.#s(this.#o))return this.#p(this.#o);throw new Error("You namespace config isn't valid.")}#s(e){return!0}#i(e){this.#t.forEach(t=>{t.after.forEach(r=>{r.map(o=>{e.after(t.actionName,o)})}),t.before.forEach(r=>{r.map(o=>{e.before(t.actionName,o)})}),t.and.forEach(r=>{r.map(o=>{e.and_then(t.actionName,o)})}),t.or.forEach(r=>{r.map(o=>{e.or_else(t.actionName,o)})})})}#c(){this.#t.forEach(e=>{this.#n.set(e.actionName,e.action)})}#p(e){this.#c();let t=new u(this.#e,this.#r,{configs:e,actions:this.#n});return this.#i(t),new Proxy(t,{get:(o,n)=>{if(typeof n!="string")throw new Error("You can use string as your property on Namespace instance.");let s=t[n];return D.includes(n)?s.bind(t):["string","number"].includes(typeof s)?s:t.run.bind(t,n)},set:()=>{throw new Error("You can not set anything on this object.")}})}};var x=class{static{i(this,"ProviderBuilder")}#e;#r=new Map;#n={};#t={};#o;constructor(e,t){this.#e=e,this.#o=t||{}}add(e,t){return this.#o.store&&t.store(this.#o.store),this.#r.set(e,t),this}config(e,t){return this.#t[e]=t,this}init(e){return this.#n.init=e,this}build(){if(this.#s(this.#t))return new m(this.#e,this.#r,this.#t,{extendInternalActions:this.#n,store:this.#o.store});throw new Error("You need to set all required configs.")}#s(e){return!!e.info}};var b=class{static{i(this,"ActionBuilder")}name;#e=new Map;#r=new Map;#n=new Map;#t=new Map;#o;constructor(e){this.name=e}and(e){return this.#e.has(this.name)||this.#e.set(this.name,[]),this.#e.get(this.name)?.push(e),this}or(e){return this.#r.has(this.name)||this.#r.set(this.name,[]),this.#r.get(this.name)?.push(e),this}before(e){return this.#t.has(this.name)||this.#t.set(this.name,[]),this.#t.get(this.name)?.push(e),this}after(e){return this.#n.has(this.name)||this.#n.set(this.name,[]),this.#n.get(this.name)?.push(e),this}action(e){return this.#o=e,this}build(){if(!this.#o)throw new Error("Your action builder should includes an action.");return{actionName:this.name,action:this.#o,before:this.#t,after:this.#n,and:this.#e,or:this.#r}}};import*as et from"caip";function W(a,e){if(!e)throw new Error("You should provide a valid semver, e.g 1.0.0.");let t=a.find(([r])=>r===e);if(!t)throw new Error(`You target version hasn't been found. Available versions: ${Object.keys(a).join(", ")}`);return t}i(W,"pickVersion");function H(){let a=[],e={version:(t,r)=>(a.push([t,r]),e),build:()=>a};return e}i(H,"defineVersions");export{b as ActionBuilder,S as Hub,u as Namespace,g as NamespaceBuilder,m as Provider,x as ProviderBuilder,C as createStore,H as defineVersions,d as guessProviderStateSelector,v as namespaceStateSelector,W as pickVersion};
2
2
  //# sourceMappingURL=mod.js.map