Skip to content

Commit 330e72a

Browse files
authored
Merge branch 'master' into dependabot/github_actions/actions/checkout-6
2 parents 15a8f51 + e5ca2d0 commit 330e72a

File tree

32 files changed

+673
-1140
lines changed

32 files changed

+673
-1140
lines changed

.github/workflows/sdk-npm.yml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ name: SDK NPM Publish
33
on:
44
push:
55
tags:
6-
- "*"
6+
- '*'
77
jobs:
88
publish:
99
runs-on: ubuntu-latest
@@ -15,9 +15,12 @@ jobs:
1515
- name: setup node
1616
uses: actions/setup-node@v6
1717
with:
18-
node-version: "20"
19-
registry-url: "https://registry.npmjs.org"
18+
node-version: '20'
19+
registry-url: 'https://registry.npmjs.org'
2020
always-auth: true
21+
- name: install tokenlist dependencies
22+
working-directory: ./tokenlist
23+
run: npm ci
2124
- run: npm ci
2225
- run: npm run build
2326
- run: npm publish --access public

README.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,22 @@
22

33
BOB is a Bitcoin-augmented rollup bringing experimentation and freedom of choice to builders to make a real-world impact. BOBs vision is to onboard the next billion users to Bitcoin.
44

5+
## BOB Token
6+
7+
- **Name:** BOB
8+
- **Symbol:** `BOB`
9+
- **Decimals:** `18`
10+
- **Standard:** ERC-20 (OpenZeppelin implementation, no transfer fees or hooks)
11+
- **Bridging:** Chainlink CCIP (lock/unlock on BOB, burn/mint on other chains)
12+
13+
### Deployments
14+
15+
| Network | Chain ID | Contract |
16+
| --- | --- | --- |
17+
| BOB Mainnet | `60808` (`0xED88`) | [`0xb0bd54846a92b214c04a63b26ad7dc5e19a60808`](https://explorer.gobob.xyz/address/0xb0bd54846a92b214c04a63b26ad7dc5e19a60808) |
18+
| Ethereum Mainnet | `1` (`0x1`) | [`0xC9746F73cC33a36c2cD55b8aEFD732586946Cedd`](https://etherscan.io/address/0xC9746F73cC33a36c2cD55b8aEFD732586946Cedd) |
19+
| BNB Smart Chain (BSC) | `56` (`0x38`) | [`0x52B5fB4B0F6572B8C44d0251Cc224513ac5eB7E7`](https://bscscan.com/address/0x52B5fB4B0F6572B8C44d0251Cc224513ac5eB7E7) |
20+
521
## Learn more
622

723
- [Website](https://www.gobob.xyz/)

docs/docs/docs/bob-chain/full-node.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,16 +18,16 @@ This is a **readiness upgrade** to make BOB protocol compatible with Ethereum's
1818

1919
If you or your partners are running external nodes, please ensure the following steps are completed:
2020

21-
- **op-node**: Update to version [v1.14.1](https://github.com/ethereum-optimism/optimism/releases/tag/op-node%2Fv1.14.1)
22-
- **op-geth**: Update to version [v1.101603.1](https://github.com/ethereum-optimism/op-geth/releases/tag/v1.101603.1)
21+
- **op-node**: Update to version [v1.16.2](https://github.com/ethereum-optimism/optimism/releases/tag/op-node%2Fv1.16.2)
22+
- **op-geth**: Update to version [v1.101603.5](https://github.com/ethereum-optimism/op-geth/releases/tag/v1.101603.5)
2323
- **L1 Beacon Node**: Ensure your L1 beacon node endpoint can serve all blobs and is configured with the appropriate Fusaka flags before the fork
2424

2525
**Required Actions for Chain Operators**
2626

27-
- **op-batcher**: Update to [v1.16.0](https://github.com/ethereum-optimism/optimism/releases/tag/op-batcher%2Fv1.16.0) with `OP_BATCHER_TXMGR_ENABLE_CELL_PROOFS: true` and restart just after Fusaka activates on L1
27+
- **op-batcher**: Update to [v1.16.2](https://github.com/ethereum-optimism/optimism/releases/tag/op-batcher%2Fv1.16.2) with `OP_BATCHER_TXMGR_ENABLE_CELL_PROOFS: true` and restart just after Fusaka activates on L1
2828

29-
- **proxyd**: Update to [v4.19.0](https://github.com/ethereum-optimism/infra/releases/tag/proxyd%2Fv4.19.0) or greater (requires whitelisting `eth_blobBaseFee` RPC)
30-
- **op-challenger**: Update to [v1.6.0](https://github.com/ethereum-optimism/optimism/releases/tag/op-challenger%2Fv1.6.0) if using permissionless fault proofs
29+
- **proxyd**: Update to [v4.23.0](https://github.com/ethereum-optimism/infra/releases/tag/proxyd%2Fv4.23.0) or greater (requires whitelisting `eth_blobBaseFee` RPC)
30+
- **op-challenger**: Update to [v1.7.0](https://github.com/ethereum-optimism/optimism/releases/tag/op-challenger%2Fv1.7.0) if using permissionless fault proofs
3131

3232
**Previous Upgrades**
3333

@@ -107,14 +107,14 @@ OP_NODE_METRICS_ENABLED=true
107107
```yml title="docker-compose.yml"
108108
services:
109109
opgeth:
110-
image: us-docker.pkg.dev/oplabs-tools-artifacts/images/op-geth:v1.101603.1
110+
image: us-docker.pkg.dev/oplabs-tools-artifacts/images/op-geth:v1.101603.5
111111
env_file: op-geth.env
112112
volumes:
113113
- ./op-geth-data:/opt/op-geth/
114114
network_mode: host
115115

116116
opnode:
117-
image: us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node:v1.14.1
117+
image: us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node:v1.16.2
118118
env_file: op-node.env
119119
command:
120120
- op-node

docs/docs/docs/gateway/integration.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,41 @@ const quote = await gatewaySDK.getQuote({
6868
});
6969
```
7070

71+
### Monetization
72+
Gateway supports optional affiliate fees, allowing integrators to earn revenue every time users execute Bitcoin onramp or offramp flows through their app.
73+
You may pass the following two optional fields in your `getQuote` call:
74+
75+
```ts
76+
/** @description Affiliate-related fee */
77+
affiliateFeeSats?: bigint;
78+
79+
/** @description The EVM address of the affiliate who will receive the affiliate fee */
80+
affiliateFeeRecipient?: Address;
81+
```
82+
83+
Example With Affiliate Fee:
84+
85+
```ts
86+
import { parseEther } from 'viem';
87+
import { parseBtc } from '@gobob/bob-sdk';
88+
89+
const quote = await gatewaySDK.getQuote({
90+
fromChain: 'bitcoin',
91+
fromToken: 'BTC',
92+
fromUserAddress: 'bc1qafk4yhqvj4wep57m62dgrmutldusqde8adh20d',
93+
toChain: 'bob',
94+
toUserAddress: '0x2D2E86236a5bC1c8a5e5499C517E17Fb88Dbc18c',
95+
toToken: 'wBTC',
96+
amount: parseBtc("0.1"), // BTC
97+
// The amount of ETH to receive (this is subtracted from the amount)
98+
gasRefill: parseEther("0.00001"), // ETH
99+
// Monetization (optional)
100+
affiliateFeeSats: 500n, // 500 sats affiliate fee
101+
affiliateFeeRecipient: '0xDeaDDEaDDeAdDeAdDEAdDEaddeAddEAdDEAd0001', // Affiliate / partner EVM address
102+
});
103+
```
104+
105+
71106
### Execute the Quote
72107

73108
This locks in the quote, placing a hold on the LP's funds. Internally, this creates a Bitcoin transaction that sends the quoted `amount` of BTC to the LP. This also publishes a hash of the order's parameters in the `OP_RETURN` of the transaction so the Gateway can trustlessly verify the order on BOB. Gateway will broadcast the Bitcoin transaction to the mempool; you can pass the transaction to the SDK without broadcasting from the user's wallet.

docs/docs/docs/reference/token-registry/index.mdx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
hide_table_of_contents: true
33
---
44

5-
import tokenListData from '@gobob/tokenlist/token-list.json';
5+
import tokenListData from '@gobob/tokenlist/tokenlist.json';
66

77
# Token Registry
88

@@ -136,7 +136,7 @@ Cross-chain interoperability protocol for select tokens like SolvBTC, xSolvBTC,
136136

137137
## TokenList Integration
138138

139-
This token registry is automatically generated from our **[token-list.json](https://raw.githubusercontent.com/bob-collective/bob/master/tokenlist/token-list.json)** which follows the [Uniswap Token List Standard](https://tokenlists.org/) with bridge extensions.
139+
This token registry is automatically generated from our **[tokenlist.json](https://raw.githubusercontent.com/bob-collective/bob/master/tokenlist/tokenlist.json)** which follows the [Uniswap Token List Standard](https://tokenlists.org/) with bridge extensions.
140140

141141
**Total Tokens:** {tokenListData.tokens.length}
142142

@@ -165,7 +165,7 @@ Each bridged token includes bridge information in its `extensions.bridge` field:
165165
```javascript
166166
// Fetch the tokenlist
167167
const response = await fetch(
168-
'https://raw.githubusercontent.com/bob-collective/bob/master/tokenlist/token-list.json',
168+
'https://raw.githubusercontent.com/bob-collective/bob/master/tokenlist/tokenlist.json',
169169
);
170170
const tokenList = await response.json();
171171

sdk/.prettierignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
dist
22
node_modules
3+
src/assets/

0 commit comments

Comments
 (0)