Skip to content

Commit 980b426

Browse files
authored
Merge branch 'main' into network-name-column
2 parents 6cb77e8 + 0e4d7e1 commit 980b426

File tree

11 files changed

+83
-47
lines changed

11 files changed

+83
-47
lines changed

.github/workflows/pr-comments.yml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
name: PR Comments
2+
3+
on:
4+
pull_request_target:
5+
types: [opened, ready_for_review, closed]
6+
7+
jobs:
8+
pr-comments:
9+
name: PR Comments
10+
uses: RequestNetwork/auto-comments/.github/workflows/pr-auto-comments.yml@main
11+
with:
12+
org_name: "RequestNetwork"
13+
# Using default comments from the auto-comments workflow
14+
secrets:
15+
token: ${{ secrets.GH_PAT_AUTO_COMMENTS }}
-249 KB
Binary file not shown.
239 KB
Loading
-423 KB
Loading

docs/.gitbook/assets/image (1).png

24.6 KB
Loading

docs/.gitbook/assets/image (6).png

476 KB
Loading

docs/.gitbook/assets/image.png

-67 KB
Loading

docs/advanced/request-network-sdk/sdk-demo-apps/components/invoice-dashboard.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ layout:
1515

1616
# Invoice Dashboard
1717

18-
<div data-full-width="false"><figure><img src="../../../../.gitbook/assets/image (1) (1) (1) (1).png" alt=""><figcaption><p>Screenshot of @requestnetwork/invoice-dashboard 0.3.0</p></figcaption></figure></div>
18+
<div data-full-width="false"><figure><img src="../../../../.gitbook/assets/image (1) (1) (1).png" alt=""><figcaption><p>Screenshot of @requestnetwork/invoice-dashboard 0.3.0</p></figcaption></figure></div>
1919

2020
<table data-view="cards" data-full-width="false"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td></td><td><span data-gb-custom-inline data-tag="emoji" data-code="1f579">🕹️</span> <strong>Try it out</strong> </td><td></td><td><a href="https://invoicing.request.network">https://invoicing.request.network</a></td></tr><tr><td></td><td><span data-gb-custom-inline data-tag="emoji" data-code="25b6">▶️</span> <strong>Demo Video</strong></td><td></td><td><a href="../#request-invoicing-demo-video">#request-invoicing-demo-video</a></td></tr><tr><td></td><td><span data-gb-custom-inline data-tag="emoji" data-code="1f3d7">🏗️</span> <strong>Integration Video</strong></td><td></td><td><a href="../#request-invoicing-integration-video">#request-invoicing-integration-video</a></td></tr><tr><td></td><td><span data-gb-custom-inline data-tag="emoji" data-code="1f4e6">📦</span> <strong>View on NPM</strong></td><td></td><td><a href="https://www.npmjs.com/package/@requestnetwork/invoice-dashboard">https://www.npmjs.com/package/@requestnetwork/invoice-dashboard</a></td></tr><tr><td></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2139">ℹ️</span> <strong>View Source</strong></td><td></td><td><a href="https://github.com/RequestNetwork/web-components/tree/main/packages/invoice-dashboard">https://github.com/RequestNetwork/web-components/tree/main/packages/invoice-dashboard</a></td></tr></tbody></table>
2121

docs/advanced/request-network-sdk/sdk-demo-apps/request-invoicing/pay-from-safe-multisig.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,6 @@ The Request Network Templates and Example Apps support paying a request from a S
1313

1414
* Click the **WalletConnect** button on the Safe top-navigation bar and paste the **Pairing Code** into the resulting dialog.
1515

16-
<figure><img src="../../../../.gitbook/assets/image (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
16+
<figure><img src="../../../../.gitbook/assets/image (1) (1).png" alt=""><figcaption></figcaption></figure>
1717

1818
<figure><img src="../../../../.gitbook/assets/image (2) (1).png" alt=""><figcaption></figcaption></figure>

docs/faq.md

Lines changed: 63 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -12,57 +12,39 @@ If your question is not answered below, please consider posting it to the [Reque
1212

1313
<summary>Is Request Network a blockchain, smart contract platform, or L2 scaling solution?</summary>
1414

15-
No. Request Network is not a blockchain, smart contract platform, or scaling solution. Rather, it's a protocol for storing payment requests and facilitating on-chain payments. It stores payment requests in [IPFS](https://www.ipfs.com/) with CID hashes stored on [Gnosis Chain](https://www.gnosis.io/). It uses [The Graph](https://thegraph.com/) for on-chain event indexing. It processes payments across a variety of [supported payment chains](https://docs.request.network/get-started/supported-chains).
15+
No. Request Network is not a blockchain, smart contract platform, or scaling solution. Rather, it's a protocol for storing payment requests, facilitating on-chain payments, and reconciling those payments with the requests. It stores payment requests in [IPFS](https://www.ipfs.com/) and CID hashes on [Gnosis Chain](https://www.gnosis.io/). It uses [The Graph](https://thegraph.com/) for on-chain event indexing. It processes payments across a variety of [supported payment chains](https://docs.request.network/get-started/supported-chains).
1616

1717
</details>
1818

1919
<details>
2020

21-
<summary>Do I need a Request Node on &#x3C;Chain> to request funds on &#x3C;Chain>?</summary>
21+
<summary>What is the difference between Request Network and Request Finance?</summary>
2222

23-
No, you don't need a Request Node on \<Chain> to request funds on \<Chain>. Requests are created on Gnosis Chain (or on a testnet like Sepolia) regardless of where the payment(s) will occur. Payment(s) can occur on any of our [supported payment chains](https://docs.request.network/get-started/supported-chains#payments).
24-
25-
To help builders get started quickly, the Request Network Foundation operates several [Request Node Gateways](https://docs.request.network/get-started/request-node-gateways) that are free for anyone to use. These gateways offer endpoints for creating and retrieving requests.
26-
27-
Requests created on the Gnosis Chain are "real" and should exist forever. Requests created on Sepolia are "test" requests and will exist only as long as the testnet exists.
23+
Request Network is an open-source protocol. Request Finance is a product built on top of Request Network. Request Finance has spun off from Request Network, and they are now two separate teams.
2824

2925
</details>
3026

3127
<details>
3228

33-
<summary>Can a Request Node modify a request's contents before persisting it to IPFS and on-chain?</summary>
34-
35-
No. A Request Node cannot change a request's contents before persisting it to IPFS and on-chain because doing so would invalidate the signature. This is true for private, encrypted requests as well. The Request Node cannot forge the end-user's signature.
36-
37-
</details>
38-
39-
<details>
29+
<summary>Do I need to create a request on the same chain that I want to receive payment?</summary>
4030

41-
<summary>Can I create a request via the Request Network SDK without using a Request Node?</summary>
31+
No. Requests are created on Gnosis Chain (or Sepolia for testing), even if the payment will happen on a different chain. Payment(s) can occur on any of our [supported payment chains](https://docs.request.network/get-started/supported-chains#payments).
4232

43-
No. Today, a Request Node is required to interact with the Request Network IPFS Network. That said, it is possible to make the end-user pay the protocol fee when creating a request instead of the Request Node. To do this, inject an `HttpMetaMaskDataAccess` into the frontend `RequestNetwork` instance.
33+
To help builders get started quickly, the Request Network Foundation operates [Request Node Gateways](https://docs.request.network/get-started/request-node-gateways) that are free for anyone to use. These gateways offer endpoints for creating and retrieving requests.
4434

45-
```typescript
46-
const requestNetwork = new RequestNetworkBase({
47-
dataAccess: new HttpMetaMaskDataAccess({
48-
ethereumProviderUrl: 'https://eth-mainnet.g.alchemy.com/v2/demo',
49-
}),
50-
...
51-
}
52-
```
35+
Requests created on Gnosis Chain are "real" and will exist forever. Requests created on Sepolia are "test" requests and will exist only as long as Sepolia continues to operate.
5336

5437
</details>
5538

5639
<details>
5740

58-
<summary>Is the address that signs to create a request the same address that receives the payment?</summary>
41+
<summary>Is the address that creates a request the same address that receives the payment?</summary>
5942

60-
Not necessarily. The address that signs to create a request is not necessarily the same address that receives the payment. They can be different.
43+
It can be, but not necessarily. The [#signer-identity](glossary.md#signer-identity "mention") that signs to create a request is defined by the `signer` parameter. This is separate from the [#payment-recipient](glossary.md#payment-recipient "mention") which is defined by the `paymentNetwork.parameters.paymentAddress`parameter. They can be the same or different.
6144

62-
The address that signs to create a request is the `signer` when creating a request via `createRequest()` in the Request Network SDK. It's usually the payee identity but can alternatively be the payer identity.\
63-
The address that receives the payment is defined by the payment network, usually at `paymentNetwork.parameters.paymentAddress`.
45+
This design allows for a single payee identity to have potentially multiple payment recipient addresses.
6446

65-
This design allows for a single payee identity to have potentially multiple payment addresses.
47+
See [#parties-of-a-request](glossary.md#parties-of-a-request "mention") for details.
6648

6749
</details>
6850

@@ -76,9 +58,9 @@ No. Request Network is a hybrid on/off-chain protocol storing the majority of re
7658

7759
<details>
7860

79-
<summary>Can I make a payment *before* creating a request?</summary>
61+
<summary>Can I make a payment <em>before</em> creating a request?</summary>
8062

81-
Yes - using [in-memory-requests.md](advanced/request-network-sdk/sdk-guides/request-client/in-memory-requests.md "mention"). Payments are linked to requests via a `paymentReference` which is derived from the `requestId` which is derived from the request contents. Therefore, it is possible to calculate the `paymentReference`, send a payment using the `paymentReference` as input to the smart contract, and then create a request.
63+
Yes. Payments are linked to requests via a [payment-reference.md](advanced/request-network-sdk/sdk-guides/request-client/payment-reference.md "mention") derived from the request contents. Therefore, it is possible to calculate the `paymentReference` and execute a payment _before_ creating the corresponding request.
8264

8365
</details>
8466

@@ -88,32 +70,63 @@ Yes - using [in-memory-requests.md](advanced/request-network-sdk/sdk-guides/requ
8870

8971
Yes and No.
9072

91-
Requests can be _denominated_ in fiat currencies like USD, EUR, etc. ([ISO 4217 currencies](https://en.wikipedia.org/wiki/ISO_4217)) but our payment smart contracts only support payments in cryptocurrencies. We call these Conversion payments, in which the requested fiat amount is converted to the appropriate cryptocurrency amount using on-chain price feeds at the moment of payment.
73+
Requests can be _denominated_ in fiat currencies like USD, EUR, etc. ([ISO 4217 currencies](https://en.wikipedia.org/wiki/ISO_4217)) but our payment smart contracts only support payments in cryptocurrencies. We call these [conversion-request.md](advanced/request-network-sdk/sdk-guides/payment/conversion-request.md "mention")s, in which the requested fiat amount is converted to the appropriate cryptocurrency amount using on-chain price feeds at the moment of payment.
9274

9375
It is possible to implement fiat payments using Declarative Requests, where the payer declares that the payment was sent and the payee declares that the payment was received.
9476

9577
</details>
9678

9779
<details>
9880

99-
<summary>Can I access a user's historical invoices created via Request Finance?</summary>
81+
<summary>Does Request Network support crypto-to-fiat (off-ramp) or fiat-to-crypto (on-ramp) payments?</summary>
10082

101-
Yes. It is possible to request access to a user's Request Finance invoices using the [`add-stakeholder` web component](https://docs.request.network/learn-request-network/components/add-stakeholder) which is just a thin wrapper around the [Request Finance Add Stakeholders API](https://docs.request.finance/faq#i-am-integrating-the-request-network.-can-i-get-access-to-users-data-on-request-finance). They display a dialog that prompts the end-user to grant access to 1 invoice at a time.
83+
Not currently, but we're working on it.
10284

103-
Details:
85+
</details>
10486

105-
* Request Finance invoices are encrypted.
106-
* Request Network Foundation cannot grant access to encrypted requests in Request Finance.
87+
<details>
88+
89+
<summary>Does Request Network support crypto payments from centralized exchanges (CEX) or custodians?</summary>
90+
91+
Yes. See [single-request-forwarder.md](advanced/request-network-sdk/sdk-guides/payment/single-request-forwarder.md "mention")
10792

10893
</details>
10994

11095
<details>
11196

112-
<summary>Can I create a request via a smart contract call?</summary>
97+
<summary>Can a Request Node modify a request's contents before persisting it to IPFS and on-chain?</summary>
11398

114-
No. It is not currently possible to create a request via a smart contract call. However, [RequestNetwork/public-issues#15](https://github.com/RequestNetwork/public-issues/issues/15) is in our roadmap to make this possible.
99+
No. A Request Node cannot change a request's contents before persisting it to IPFS and on-chain because doing so would invalidate the signature. This is true for private, encrypted requests as well. The Request Node cannot forge the end-user's signature.
100+
101+
</details>
102+
103+
<details>
104+
105+
<summary>Can I create a request via the Request Network SDK without using a Request Node?</summary>
106+
107+
No. Today, a Request Node is required to interact with the Request Network IPFS Network. That said, it is possible to make the end-user pay the protocol fee when creating a request instead of the Request Node. To do this, inject an `HttpMetaMaskDataAccess` into the frontend `RequestNetwork` instance.
108+
109+
```typescript
110+
const requestNetwork = new RequestNetworkBase({
111+
dataAccess: new HttpMetaMaskDataAccess({
112+
ethereumProviderUrl: 'https://eth-mainnet.g.alchemy.com/v2/demo',
113+
}),
114+
...
115+
}
116+
```
117+
118+
</details>
119+
120+
<details>
115121
116-
The recommended way to create a request is using the Request Network SDK via a frontend so the payee or payer can sign to create the request.
122+
<summary>Can I access a user's historical invoices created via Request Finance?</summary>
123+
124+
Yes. It is possible to request access to a user's Request Finance invoices using the [`add-stakeholder` web component](https://docs.request.network/learn-request-network/components/add-stakeholder) which is just a thin wrapper around the [Request Finance Add Stakeholders API](https://docs.request.finance/faq#i-am-integrating-the-request-network.-can-i-get-access-to-users-data-on-request-finance). They display a dialog that prompts the end-user to grant access to 1 invoice at a time.
125+
126+
Details:
127+
128+
* Request Finance invoices are encrypted.
129+
* Request Network Foundation cannot grant access to encrypted requests in Request Finance.
117130
118131
</details>
119132
@@ -123,8 +136,6 @@ The recommended way to create a request is using the Request Network SDK via a f
123136
124137
No. Request Network does not currently support cross-chain payments. All of the supported payment types involve the payer sending funds and the payee receiving funds on the same chain.
125138
126-
We would be open to integrating a cross-chain payment system but would need to balance it against the other priorities in our [backlog](https://github.com/orgs/RequestNetwork/projects/3/views/7).
127-
128139
</details>
129140
130141
<details>
@@ -148,6 +159,16 @@ Yes. See [hinkal-private-payments.md](advanced/request-network-sdk/sdk-guides/pa
148159
149160
<details>
150161
162+
<summary>Can I create a request via a smart contract call?</summary>
163+
164+
No. It is not currently possible to create a request via a smart contract call. However, [RequestNetwork/public-issues#15](https://github.com/RequestNetwork/public-issues/issues/15) is in our roadmap to make this possible.
165+
166+
The recommended way to create a request is using the Request Network API.
167+
168+
</details>
169+
170+
<details>
171+
151172
<summary>Can I use Request Network requests even if I have my own payment infrastructure?</summary>
152173
153174
Yes. See [single-request-forwarder.md](advanced/request-network-sdk/sdk-guides/payment/single-request-forwarder.md "mention")

docs/request-network-api/easyinvoice-api-demo-app.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ Discover how your app can have its own EasyInvoice features - [book a call](http
1818

1919
* **Google Login**: Securely log in to your account using Google OAuth.
2020

21-
<figure><img src="../.gitbook/assets/image (1).png" alt=""><figcaption><p>EasyInvioce Login Page</p></figcaption></figure>
21+
<figure><img src="../.gitbook/assets/image.png" alt=""><figcaption><p>EasyInvioce Login Page</p></figcaption></figure>
2222

2323
### **Invoice Creation**
2424

@@ -45,13 +45,13 @@ Discover how your app can have its own EasyInvoice features - [book a call](http
4545

4646
<figure><img src="../.gitbook/assets/Screenshot from 2025-02-14 01-01-00.png" alt=""><figcaption><p>EasyInvoice Invoice Payment Page</p></figcaption></figure>
4747

48-
<figure><img src="../.gitbook/assets/image (1) (1).png" alt=""><figcaption><p>EasyInvoice supports 50+ wallets via Reown AppKit</p></figcaption></figure>
48+
<figure><img src="../.gitbook/assets/image (1).png" alt=""><figcaption><p>EasyInvoice supports 50+ wallets via Reown AppKit</p></figcaption></figure>
4949

5050
### Direct Payment
5151

5252
* **Direct Payment**: Send a payment without having to create a request first.
5353

54-
<figure><img src="../.gitbook/assets/image.png" alt=""><figcaption><p>EasyInvoice Direct Payment page</p></figcaption></figure>
54+
<figure><img src="../.gitbook/assets/image (6).png" alt=""><figcaption><p>EasyInvoice Direct Payment page</p></figcaption></figure>
5555

5656
<table data-card-size="large" data-view="cards" data-full-width="false"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td></td><td><span data-gb-custom-inline data-tag="emoji" data-code="1f579">🕹️</span> <strong>Try it out</strong></td><td></td><td><a href="https://easyinvoice.request.network">https://easyinvoice.request.network</a></td></tr><tr><td></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2139">ℹ️</span> <strong>View Source</strong></td><td></td><td><a href="https://github.com/RequestNetwork/easy-invoice">https://github.com/RequestNetwork/easy-invoice</a></td></tr></tbody></table>
5757

0 commit comments

Comments
 (0)